rgw: add encode_json

dump() just dumps the internal content of an object, encode_json()
create the object inside its own section. Note that there are cases
where we don't want an object to be surrounded by a section, e.g.,
when an object represents an array. In such a case we'd need to
override the encode_json() for this object type.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: generic decode_json for containers

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: s/cluster/zone

Old cluster definition is what we'd call zone from now on.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: zone info is configurable

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: s/RadosParams/ZoneParams/g

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: define region/zone data structures

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: region management encoding/decoding changes

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

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

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: admin command to show region info

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: some region/zone related cleanups/fixes

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