Broke AbstractUnitFactory up into UnitFactory and UnitReadier. Created
StreamSerializable and applied it to Level, Team, and Unit