Removed the 'input_geometry' argument from the TPG::run() method.  The names of the objects used as input geometry is added as a setting by the TPG::initialiseSettings() method.

Added initialiseSettings() methods into TPG, CppTPG and ExampleCppTPG classes so that we can get a heirarchy of settings in an attempt to avoid duplication of setting names in various TPG sources.

Moved the instantiation of the TPGsettings object from the CppExampleTPG back into the TPG class itself.  The TPG class owns the member variable pointing to it and it now adds its own settings that will be used by all TPGs.