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.