Cross-Validation and Hyper-Parameter Tuning: Week 9

During the ninth week I was primarily working on the classification metrics (precision, recall, and F1) for the cross-validation and hyper-parameter tuning modules. The work is almost done - the PR has been made, it has been reviewed, and the requested changes have been added.

Now I'm going to add changes requested in my previous PRs, as well as to start working on adding support for the mlpack optimizers in the hyper-parameter tuning module.