First version of k nearest neighbors

Works for small data size but fails with an out of memory message for the Kaggle
dataset
Use a direct implementation rather than using KDTree

This runs almost three times faster.
Use Word8 instead of Int

Does not seem to affect memory consumption!
Raw parsing rather than using Parsec

The read speed is extremely slow (almost by a factor of four), but at least it
can handle all the data!
Attoparsec based solution

Much much faster!
Refactoring for clarity
More refactoring
Precompute the distance

This results in a significant speedup (almost by a factor of 2)
Parallelize processing

Almost a factor of 2 speedup when using 4 cores
Prog to check the error rate against reference soln
Use ByteString instead of Text

Speeds up prediction of 10 samples from 6 sec to 4 sec
Adding comments
Removing redundant imports
Using storable vectors instead of unboxed

Reduces the runtime for 10 samples from 4.2 sec to 3.75 sec
Refactoring
Refactored and added comments