Specialize SettingsParameter template methods

value() and setValue() methods were specialized for std::string because
(1) conversion of string to string is unnecessary, (2) there is a
problem converting an empty string through a string stream, and
(3) conversion wouldn't work if there are spaces in the string.
Make some parameters optional
Merge branch 'master' of github.com:macroevolution/bamm

Conflicts:
	src/Settings.cpp