Implement proper snapshot system
This will include taking snapshot of the nbt data in tile entities (and soon entities) for storage into an array
This will also include a test "rollback" function to use for testing the cache performance of the snapshot, but will soon move away from arraylist and to
hashmap.
Updated .gitignore