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.
- Browser exposes authentication and uses authorization if needed. Set of new
  :server commands are now available, along with documentation for such.
- Webadmin redirects to browser for authentication