PF predictor with collision history playback

This is the first cut at the "collision history playback" approach,
which accumulates a history of collision behavior from the training
set and simply replays the results of the closest-matching collision
in the history when a collision is predicted.  (Closest match is based
on the entry angle of the collision.)

Collision history is kept independent of the wall collided with; in
other words, the closest-matching collision may have been with a
different wall than the predicted collision.  The assumption is that
collision behavior is independent of a particular wall, and instead
dependent only on the angle of the collision (the entry angle).