Moved ownership of Config, when running the Neo4j Server, to the Server rather than IAGDB.

o Introduces new constructors for the embedded, highly available and impermanent graph databases
  that allows passing in Config directly. This was not added to the GDBFactory classes, since it
  is not meant to be a user-facing feature.

o Refactored the NeoServer and Database related classes to take advantage of this, and allow injecting
  config into the database used.

  Overall, this is a move towards consolidating the config for the whole product, eventually moving us
  to use a single config file. It is also a move towards further structuring the application to have
  shared components, owned by the assembly class which, in the case of the server, is NeoServer.

--
Adds multi-hosting service to Neo4j Server.

 o Adds a configuration database to the Server, containing
   meta data about hosted databases.
 o Adds database registry, managing live hosted databases.
 o Adds runtime reconfiguration of databases - dropping, creating,
   changing config and mode.
 o Contains several provisions ensuring full backwards compatibility
   with previous 'db' database and it's associated configuration.
   If a legacy config file exists, it overrides hosted config.
 o This commit *only* contains these new services, they are not
   plugged in. This is meant to incorporate this piece-meal by
   first moving the new code in, and plugging it in in a follow-up
   commit.

Conflicts:
	enterprise/com/src/test/java/org/neo4j/com/ServerTest.java
Merge pull request #1908 from jakewins/multihost

Multi hosting