Support NIF Files with non empty Export Info
Provide the filename when nifstream throws a runtime_error
Moved base NIF classes into a separate file.

This resolves the dependency mess, and makes things more readable.
The dependency tree for nif records now looks like this:
Record.hpp
--base.hpp
----controlled.hpp
----controller.hpp
----data.hpp
----effect.hpp
----effect.hpp
----node.hpp

Node.hpp has many extra dependencies because nifogre only includes it instead of each of these files.
That should be fixed.
Have runtime error reporting in nifstream.hpp give even more data