Added some classes to create snapshots
Added some javadoc
Added more snapshot handling, now you can list snapshots, remove them and restore them.
 added the gitignore