New SteerForMatchingVelocity behavior

See remarks for the rationale and how it's distinct from *Alignment.
SteerForCohesion / SteerForSeparation improvements

The previous SteerForCohesion implementation mistakenly returned the
distance between the vehicle and its neighbor as the force, which was
a mistake *and* inconsistent with the SteerForSeparation behavior.

As for SteerForSeparation, it will continue to return a direction vector
*unless* we use a multiplier for radius impact. If one is added, then
the vector returned will be a function of the combined radii for both
vehicles.

New feature: SteerForSeparation.MaximumSeparation, which is a radius
beyond which we no longer apply any forces.