[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 :)
Yeah, at the very least we should use username as a salt. It's not ideal, but using a random hash means we would also need to store this has in the collection.

That's not a big deal, it just makes populating authentication table from the user perspective a bit harder.

I'm also fine with just using bcrypt  (or scrypt), but IIRC, but Python packages for both mechanisms depend on a C extension which makes deployment / installation a bit more cumbersome.