1. Returns a usable http(s) connection.
2. Caches a authentication token and re-uses it for connections long as it is valid.
3. Performs authentication via MaprAuthenticator only if the token becomes invalid.
TODO(Santosh):
1. This code is not cluster aware (it always watches if security is enabled or not on the current cluster)
2. This code is not user aware (MaprAuthenticator will pickup creds of the process uid that's running this code)
Author: smarella