#TODO
- Make creep sub-class composition rather than inheritance.
- Rename creeps module to creep.
- Convert Mode and Role enum string resolution to use a hash.
- Handle creep colision deadlock.
- Rewrite Creep::move_to_target to reduce nesting.
- Don't haul energy to spawn if spawn is full
- Handle move failures.
- Relate maximum number of harvesters to adjacent open spaces.
- Remove SpawnManager.
- Make spawn understand extensions.
- Set worker mode based on target.
- Stop high frequency switching of worker target.