Added method equalStopPath()
Changed how arrival times are remembered. Instead of it being part of
the atStop, which gets a new object every match, it is now part of
VehicleState. This way can make sure that don't generate departure times
that are before arrival times.
Took out arrivalTime and stored it instead in VehicleState so that it
will continue to be correct even if multiple matches are for a stop and
new VehicleAtStopInfo objects are created. 

Also added toString() to help with logging.
Changed formatting of stopPathLength to make toString() output prettier.
Changed some method names. getLastAvlReport() became getAvlReport(),
getLastMatch() became getMatch(), etc.
Changed some method names.
Improved logging messages.
Found situation for sf-muni vehicle 1515 AVL time 09:55:35.266 where
times were not being determined correctly. Made some important fixes
such as determining arrival and departure times by extrapolating to the
actual stop instead of just using the matches. This is important because
match to a stop even if 100m before or after it. To determine accurate
arrival/departure times these distances need to be taken into account.

Changed to use new method names such as getAvlReport() instead of
getLastAvlReport().