rgw: rebase mongoose prototype

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: fix a few mongoose related issues

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw, mongoose: get mongoose up to date

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: some more mongoose related fixes

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: support for mongoose keepalive

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: configurable mongoose port

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: add SERVER_PORT to mongoose environment

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
mongoose: v4.1
rgw: update code to handle mongoose v4.1

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: use rwlock for cache

disabling lru, only for testing

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: support http/1.0 keep-alive response (mongoose)

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
objecter, librados: create Objecter::Op in two phases

(currently only in some librados operations)
First create the op, only then lock and submit so that we reduce lock
contention.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
librados: lockless get_instance_id()

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
librados: use rwlock for lookup pool, cache results

Use rwlock to read cahed results, only use regular lock if
results are not cached.
This is not perfect as it's never invalidated, which is a
problem with pool renaming.

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