Cleaned up the way units are added - units are separeated into separate
arrays (pXUnits) and are then passed to playerX.addUnits(pXUnits). This
circumvents the issue of creating a unit but not/improperly adding it to
the corosponding player