Updated to store nationality as a Nationalities enum instead of as a String.

Added full documentation and exceptions, as well as the ability to retrieve
or delete a Unit. Note that the comments reference the units as Unit
objects, though they are still actually stored as Strings.

TODO: Unit management and storage should be moved to the Side class. There
      the Units could be associated with a Player using a separate Map. They
      could also be associated with a hex/position in a similar manner.
Changes to support storing Player nationality as a Nationalities enum.

It was previously stored as a String.