Neo4j edition and version for Server only.

Gathers the Neo4j edition by looking at the type of Neo4jServer that gets started. Gathers the release number by demetering its way deep into the kernel.
Added a test in enterprise that checks that naming for derived classes of AbstractNeoServer doesn't change, since VersionAndEdition service uses those names to compute a Neo4j version.
Renamed the ServerBuilder to CommunityServerBuilder and added AdvancedServerBuilder and EnterpriseServerBuilder.
Added integration tests for the Community, Advanced, and Enterprise version and edition service in the matching module..