Read some server configuration from a file

First part of #3429.

Some of the generic server configuration is now read from a
server-reference.conf file. Moved lots of error checking,
validation, system property reading and default values out
of code and into the config file. This change preserves
existing behaviour. All existing system properties still
work.
Merge pull request #3693 from richdougherty/server.conf

Read some server configuration from a file