Added a stats engine.
A ton of updates, made everything modular.

Try to read through all the code before you do any - there is a TON of
new syntax to understand for how various things work.  I think I may
have broken the lastAction storing, but it shouldn't be too bad to
repair.

After you read through the major changes, the biggest things to work
for are implementing better strategy in StatsStrategy.py and
storing/reading stats in Stats.py.