Snapshot support
Logic on SolidFire side for CloudStack snapshots
Support for back-end snapshots on primary storage
Logic around granting and revoking access to the volume that backs the snapshot
Changed "boolean connectVolumeToHost(VolumeInfo, Host, DataStore)" to "boolean grantAccess(DataObject, Host, DataStore)"

Changed "void disconnectVolumeFromHost(VolumeInfo, Host, DataStore)" to "void revokeAccess(DataObject, Host, DataStore)"
Invoke grantAccess and revokeAccess one time each using a SnapshotInfo (where previously a VolumeInfo was being passed in)

Handle the case where a SnapshotInfo is passed into the grantAccess and revokeAccess methods
Improve error handling for a host-side error
Pass on new command
Save off the UUID of the VDI before detaching its SR
Reply that reverting is not supported
Reorganized the snapshot logic a bit
Commits related to taking snapshots that live on primary storage