Introduce authentication and basic authorization in the server.

- When enabled, all requests must be authorized using an authorization token
- Token is acquired by authenticating with a username/password tuple.

Conflicts:
	community/kernel/src/main/java/org/neo4j/kernel/api/exceptions/Status.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/util/BytePrinter.java
	community/server/CHANGES.txt
	community/server/src/main/java/org/neo4j/server/AbstractNeoServer.java
	community/server/src/main/java/org/neo4j/server/CommunityNeoServer.java
	community/server/src/main/java/org/neo4j/server/rest/discovery/DiscoveryService.java
	community/server/src/test/java/org/neo4j/server/rest/discovery/DiscoveryServiceTest.java
	community/server/src/test/java/org/neo4j/server/webadmin/rest/RootServiceDocTest.java