rgw: can set temp url key on user

Either through new through new rest api call, or via
radosgw-admin

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>

(cherry picked from commit 2626101f17e16ea370b58cf760dbec1a756fff73)
rgw: handle temp url key authorization

Fixes: #3454
Implement auth handling code that checks temp url signature and
expiration. The key that is used for the signature is the bucket owner's
temp url key.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 56e4015cf4f2917b13c9f017e09ec47581ee4867)
rgw: support multiple temp url keys

Apparently the swift api defines two temp url keys. Add internal support
for multiple keys, radosgw-admin can config two keys.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 7ccb513c1965ae9a33bc2cdb4cb9622b4f9133af)
rgw: fix temp url restful apis and support multiple keys

the set temp url api didn't do anything, fix that. Also add support for
multiple temp url keys.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 9395e0d778807bb4531a1e4e68068726c8940160)
radosgw-admin: add temp url params to usage

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 644afd67b90bdedf826144f6978a5fcc683ac06e)