Added new state methods and a few redesigns

A new method, startTurn(), is provided to be called right at the
beginning of any of the players' turns. This forces the players to
perform a sequence of actions in the startTurn() method, such as rolling
dice, at the beginning of their turn. For the rest of their turn, they
are free to do as they please.

Also added individual build methods for each of the specific buildable
items, i.e.
buildSettlement()
buildCity()
buildMilitaryUnit()
buildRoad()

Necessary arguments have yet to be implemented.