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: create a new objclass

New objclass to track and modify objects versions.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
cls_version: add unit tests

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: start tying metadata objs to version objclass

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>