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
so when we are doing multi-point EI optimization, we flatten out the points such that it is a single long array and then feed it into the optimizer. therefore we end up having a repeateddomain over a bunch of tensor products with the same dimension. but since we want the constraints to only access the specific index in the flattened array, i created a "start_index" so the repeated_domain class can signal which array index the tensordomain class should start from. does this make sense?

they do make it sound like that, but i'm pretty sure it means that x >= 0 iff constraint is satisfied. the examples they give seem to support that.

hmm yeah i think this does what i want. at least... i'm pretty sure it works correctly? lol