Wip rgw zone config

This should cover #4533, which we want into cuttlefish. The first few commits lay the infrastructure to use json for serialization of structures, and the last few use it so that it's possible to configure zone params.