cls_version: create a new objclass

New objclass to track and modify objects versions.

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

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

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Merge branch 'wip-cls-version' into wip-rgw-zone-2
rgw: start tying metadata objs to version objclass

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
librados: add two more ObjectOperation::exec()

 - one that also gets out bufferlist and ret value pointer
 - one that gets a callback context

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
cls_version: add cls_version_read(ObjectReadOpeation&)

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: rgw_get_system_obj() can return obj_version

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: metadata set/get infrastructure

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