[WIP] Auth service refactoring and support for "standalone" mode with multiple auth backends

This pull request includes the following changes:

* Make HTTPs optional (user can specify if HTTPs is to be used by setting `secure` option in the config file). The reason for that is that in the proxy mode when authentication happens upstream, most user will also want SSL termination to be done upstream (e.g. in Apache / Nginx / Load balancer)
* Add support for "standalone" mode. In standalone mode, st2auth service also performs the authentication using the specified backend.
* Initial support for "file" backend which reads authentication information from Apache compatible httpasswd file.
* On successful auth, return full URL to the API endpoint in the `X-API-URL` header.
* Other improvements and polishing

TODO:

- [ ] Full documentation (about proxy and standalone mode, different backends, how to configure them, etc.)
- [ ] LDAP backend
- [ ] Polishing

@enykeev I will ping you when documentation is there and when you can test it with the web ui. The goal should be to get it working just using the documentation - if you can't do that, this either means there is a bug or documentation is not good enough and I should fix it :)
> if someone already uses MongoDB for other things, they can also use it for storing authentication information.

Is it typical to use MongoDB to store auth information? I am not sure I would be happy storing my own auth creds in MongoDB as I've not seen this done but then again I don't have sufficient exposure to auth backends to tell for sure.

I would be happy if we don't get in the business of storing anyones auth creds and could hand over that responsibility to some identity provider/authentication services like LDAP etc.