BUG: add swig filetype headers

The swig files use C++ features so they should be declared as C++.
Some files even lie and declare themselves as C which causes a build
failure if one re-swigs with setup.py.