Create a Snapshot based on a Disk

This patch introduces 2 ways of inserting a snapshot.
1. By calling disk#create_snapshot
2. By "inserting" into the snapshot collection (snapshot#create)

The latter doesn't directly map back to the Google API (create is not exposed on the snapshots collection), but I've implemented it here in any case. I'm open to discussing whether we should to this (the latter) at all (because validating all the params becomes a little more complex).