Learn: Adding learning algorithm

 * Also, switching everything to integer arithmetic
 * BUGFIX: Learning algorithm was multiplying the feature vectors by the
   wrong label (the incorrect one) causing it to diverge instead of
   converge.
 * Switching to the mode of computation where we compare the digits
   pairwise.
Core: Adding methods to calculate error with various params.

Also implemented cross-validation.