return object instead of index from getSegment(), insertSegment(), connect()
don't shorten Segment variables as 'seg'
use path objects instead of path indices in more places
add id variables for Player and UnitType
refer to players and unit types using references instead of indices
move updatePast(), playerResource(), playerCheckNegRsc(), playerCalcImmutable() from Sim to Player
checkNegRsc() no longer needs upper bound on path start time because units are no longer deleted by setting moves[0].timeStart = long.MaxValue - 1
skip resource check in removeUnit() if no child units were deleted
remove path from tiles in takeHealth() instead of addTileMoveEvts()
manually add new paths to visibility tiles instead of doing it in addTileMoveEvts()
if moving creates new path, try to remove units from old path
addTileMoveEvts no longer needs iNext because moves are never out of order