Optimizing the snapshots

I am only taking snapshots at the end of the session. I am also taking snapshots of only the projects that were
touched in the snapshot. This should minimize the impact all this snapshotting has on our storage.

Of course, I am still taking a snapshot at the beginning of the recording to make sure we have a baseline to replay things on.