Updates Tournament, so that games can be stored for multiple engines (as a dictionary). All engines pass a name to the Engine constructor.
Add logging, deep copy of Grid objects and partial function for multithreading
Grids are initialized for every run, and not when initializing an Engine. Fixes #9
Merge branch 'dev'

Conflicts:
	engines/engine.py
Merge pull request #11 from megasnort/dev

Fix Grid bug, add logging and allow multi-engine Tournaments