Add Id to GameEntity.

Useful for getting a specific entity from the entity set.
Change int to GameEntityId for future flexibility.
Add iterator framework for GameEntitySet.

Note: The code implementing the GeneralEntityIterator should never, ever
be called in its current state. It currently satisfies the compiler
gods... but only by committing the black art of memory leaking. (hmm... I
feel like this situation isn't quite right somehow.)