Fix manhattan distance calculation
Add Chebyshev and Cranberra distances, improve Manhattan distance

Previously, Manhattan distance measure was only able to calculate
vector distances. Now, it's possible to calculate distances on
matrices, too, without unnecessary overhead of copying vectors,
doing an in-place lookups.
Made a start on gradient descent
Run goftm on all files ti fix indentation
Remove unused subVector calls
Use AlmostEqual for numerical comparison.
Change wording for Eucledian Distance comments
Implemented batch and stochastic gradient descent
Implemented batch and stochastic gradient descent
Merge branch 'feature/ifesdjeen/distances2' of https://github.com/sjwhitworth/golearn into optimisation
Merge pull request #20 from sjwhitworth/feature/ifesdjeen/distances2

Remeake of my previous distances branch
Refactored KNN to implement the estimator interface
Merge branch 'master' of https://github.com/sjwhitworth/golearn
change test to goconvey; modify makefile
Update linear_regression.go

Removing merge conflict.
Merge remote-tracking branch 'ups/master'
move liblinear to ext/
change .gitignore to include c/c++ types
fix linux blas linking -fpic
add make.go; fix windows support