PF improvements

- learn() now takes a datapoint limit - it will process only this
many lines.  (Needed to predict() the next N points properly, since
we just move particles and average them to get predictions.)

- predict() is completely ignoring its index parameters, by the way;
all it knows how to do is advance the particles one step and find
average values.

- Greatly reduced noise values all around.  The previous values were
causing fairly terrible predictions in some cases.

Also checked in the testing datafile.