Add preCalcLegPositions bus option

If there are a lot of legs then it's better to improve the 'depart'
processing by calculating the leg positions on the fly instead of
up-front.  Cache the positions so we can spot if we need reposition or
not.  preCalcLegPositions defaults to true (ie. the way it used to
always work).  Set to false to speed up 'depart' time and calc pos on
the fly.