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. 
Sounds good, lets add an issue to see which one is faster to the tracker.