Opt tests

Adds tests for `optAUC` functions and `optRMSE` functions. Changes `safeOptAUC` and `greedOptAUC` to issue a warning and a message respectively in case of optimization underperforming a component model. In the case of `safeOptAUC`, the best model is weighted 1 and returned, in `greedOptAUC` the best optimization is returned with a message. 

Basic tests for greedOptRMSE and ability to issue a message in degenerate cases. However, no tests for degenerate cases are included because I couldn't generate any data to do this. 

Closes #75.