Metrics

**Haven't finished yet, just open for viewing difference between branches.**

- [x] Implement polynomial kernel
- [x] Implement euclidean distance (2 norm)
- [x] Implement L1 norm
- [x] Implement RBF kernel

**Update**

Some more TODOs:

- [ ] Extend pairwise metrics to accept matrix input
- [x] Maybe integrate all kernels into one file if the code isn't too big
- [x] Doc the kernel formulas, so others can know which kernel we are using.