rgw: Adds passwd alternative to keystone admin token

http://tracker.ceph.com/issues/5374 Fixes #5374

This adds options parsing to have a user, password and tenant,
to be able to ask for a token.
This token is then used to authenticate against keystone, instead
of relying on the admin token.
Otherwise, you can still use the admin token to authenticate.
This doesn't change the existing behaviour.

Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
rgw: Use keystone password to validate token too

Adds the alternative use of password, instead of admin token,
to validate tokens.

Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
rgw: Use JSONFormatter to use keystone API

Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
Merge pull request #766 from kri5/wip-5374

Rebase of Wip 5374 against master

Reviewed-by: Yehuda Sadeh <yehdua@inktank.com>