added COBYLA (no REST interface yet)

********* PEOPLE *************
Primary reviewer: @sc932 

Reviewers: @suntzu86 

********* DESCRIPTION **************
Branch Name: denizokt_370_constraints
Ticket(s)/Issue(s): Closes #370 

********* TESTING DONE *************
make test
make style-test
it's a heuristic that is used in the C++ multistarting algorithm. if the strong optimizer fails, then we search num_random_samples random points and return the best one.

it shouldn't be needed in optimizers besides multistart... although maybe it's there so that kwargs work out or something or maybe you copied from some place that does use it, idk.