Add support for `vagrant snapshot` plugin.

A quick draft of implementing `vagrant snapshot` plugin support. As the indentation changed a bit, the diff looks a bit messy though, sorry for that.