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
why? the linear constraints should be handled in the input to a domain. thru the REST interface you'd need a way for users to specify constraints (linear is fairly straightforward, just sets of dim+1 length vectors. nonlinear might require string parsing or something crazier).

then we have a domain class that understands how to parse those inputs and build the set of lambda functions automatically. the domain object should encapsulate the constraint stuff. I don't see why the optimizer interface would need to change at all b/c it should never need to be directly aware of that mess.