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. 
Great! Thanks. I'll change it back. I am almost sure it does yield the same answer. I'll change it and just make sure none of my tests rely on it being the other way. I can make an issue to investigate this 100% later. For now, what we have works well so there is no reason to change it.