Added snapshot & restore functions to make test cleanup easier
Added validation, checking for invalid snapshots
Tweaked how restore works to use public rather than private API
Merge pull request #2 from christav/snapshots

Added snapshot & restore functions to make test cleanup easier