Receive reinforcements

I've added a few things here.

Game::Factories namespace to contain factory classes for constructing game models (Currently only has a factory for generating units)

Game::StateModifiers name to contain turn processing classes. They consume a gamestate and return an updated gamestate, these will be chained together to form the turn logic. One is implemented for processing reinforcements.