Create a configuration update utility

Extracted from proxy/config
Change proxy config to reuse util/config

Splits endpoint and service configuration into their own objects.  Also makes
the endpoint and service configuration tests correct - there was a race condition
previously that meant tests were passing but not checking correct code.
Merge pull request #465 from smarterclayton/simplify_config_for_reuse

Extract proxy/config common functions for reuse