First pass event loop implementation.
fix processing of unit_upkeeper for tracker events
Fix the engine's APM plugin and add some documentation.
Fix some small rebase bugs.
Tests should demonstrate both plugin methods.
take 1 on gameheart parser
All tests passing for Python 3.2. refs #109
tweaks from @GraylinKim code review
Add 2.0.10.26490 support.
Fix the build.
Fix the build take two.
Take 3. Its like whack-a-mole in here.
Take 4.
Make sure to store player.seconds played.
Fix MapInfo parsing for versions 0x19 and 0x1f.
Fix small GameStrings processing bug.
Use __str__ for __repr__ as we did before.
Don't crash the ContextLoader if we are missing a datapack.
Fix a weird script typo.
Finally straighten out all these player list/dicts

Now as follows:

 * human/humans -> human entities, indexed by uid
 * computer/computers -> computer entities, indexed by pid
 * player/players -> actually playing in the game, indexed by pid
 * observer/observers -> observing the game, indexed by uid
 * entities -> players + observers || humans + computers, indexed by pid
 * client/clients - (deprecated) same as human/humans
 * people/person - (deprecated) same as entity/entities