Preproc all data and split into train and test.

We don't want the perceptron setting up vectors of data and matching
inputs to the larger set of inputs during its runtime. That should all
be at a preprocessing stage so that the perceptron can just run.

This changeset includes the above changes. Also, it will take 10% of the
limit value and apply that to the test set. This split is so that you
aren't testing with trained data...you wont know if you're NN is right
if you don't.

Signed-off-by: Nick Campbell <nicholas.j.campbell@gmail.com>