Made cross_validate_trainer() and cross_validate_trainer_threaded() not make
duplicate copies of the training data since doing so uses a lot of RAM for
large datasets.
updated docs
Added more member functions to the auto_mutex_readonly object that allows
you to convert between a readonly and write lock but still use RAII.
Changed the example to recommend using something like the f1-score when using
BOBYQA for model selection.
Clarified the thread safety of evaluate_detectors().
Renamed assert link check variable to be a little more informative.
updated docs
Moved negate_function() to a different file to avoid an #include ordering bug
that happened when using find_max_single_variable().
updated docs
Added a parameter to control the search radius to the
find_min_single_variable() and find_max_single_variable() routines.  Also made
these functions a little more robust to unusual objective functions.