Split out Building into ProductionBuilding and NonProductionBuilding
Added produce() and produceUnit() in ProductionBuilding to allow the
user to select a unit to produce
The proper unit is produced from the use of a Hashtable<String, Unit>
which returns an empty Unit (of whatever type the user wanted) and then
initialized.
Editted to make it work within the takeAction(Option option) standard
Created structure around game flow.
Added menu to abstract away the option selection.
Preliminary commit
Set up structure for loading and unloading units.
Removed isCapturable since capture() only takes in Buildings