History implementation start

Started implementing history using deep copies of levels in the
GameModel.

Currently, does not seem to replace level reference properly.
File hierarchy cleanup
Merge branch 'history' of github.com:tmzhuang/pvz-reloaded into history