rgw: radosgw-admin mksnap

I implemented radosgw-admin mksnap, lssnap, and rmsnap, per the RGW Snapshots blueprint.

This is my first Ceph pull request.  I'm submitting this for feedback on functionality and style.  I expect to be rejected a few times.

I haven't written C++ code for 20 years, so I'd also like a noob C++ code review, particularly on the std::list and std::map functionality.
@yehudasa Is this list of pools complete, and in the best order?  Will it work for all cases, using zones or not?

I think so, and it works in my (very limited) testing.