VM Snapshot management

This adds in the ability to manage snapshots for existing VMs. Functions include listing, creation, removal, and reverting to specific snapshots or current snapshot. Thanks.