Introduce support for authentication and authorization
- New /authenticate endpoint allows authenticating and acquiring
  authorization tokens.
- If authentication is enabled, and user is not authorized, dissallow access
  to all endpoints other than '/', '/authenticate', '/webadmin' and '/browser'
- API exposes ability to regenerate and set authorization token
- API exposes ability to change password
- On initial startup, user is required to change the default password
- Authorization data is stored in data/dbms/authorization, by default. This
  file can be copied to other neo4j deployments to share authorization config.