Added 'const' modifiers to function parameters
Further rationalisation of function parameters

A few further changes to make function parameters use const and const
reference where appropriate.
Remove repeat implementations for const string& vs const char*

Where versions of the same method are given, one with const
string& parameter, one with const char * param, make the const string&
version the default implementation and remove the const char* version.

Also, replace const char * with const string& in parameters to several
methods.

Also, combine methods where default parameter could be used to toggle
the overloaded version.
Make a few changes regarding initialisation of variables

Initialise some uninitialised variables, and tidy up a few methods so
that variables are initialised directly with values to be used.
Merge branch 'tsc/add_const_modifiers' into add_const_modifiers
Merge branch 'code_refactor' into merge_code_refactor

Conflicts:
	futil/FoundryUtilities.h