Created BaseException that can act as a stringstream. You can do the following:
throw BaseException() << "some error " << variable << " foo";
Changed InvalidSettings to use BaseException, using this new syntax in Settings.
it is possible to register callbacks that add custom options to the settings module.
it is also possible to register callbacks that perform checks on the variable assignment afterwards.
The registering is done during the static initialization phase, i.e. before main() does anything.
Changed a lot in the class structure of Settings:
* Settings is now a Singleton. Obtain a new instance by Settings::instance().
* options_description objects are now static, thus a help message can be printed even if the constructor of Settings failes
* As Settings has static members, a .cpp file became necessary, hence cmake should probably be run...
* Help messages can be printed with new help and helpConfigfile routines