Eliu gh 186 189 345 cleanup and make optimizer arguments consistent fix 0 multistarts bug

********* PEOPLE *************
Primary reviewer: @sc932 

Reviewers: @ypwais

********* DESCRIPTION **************
Branch Name: eliu_gh_186_189_345_cleanup_and_make_optimizer_arguments_consistent_fix_0_multistarts_bug
Ticket(s)/Issue(s): Closes #186 Closes #189 Closes #345 

    fixing bug where num_multistarts = 0 or num_random_samples = 0 could crash the server
    standardizing "status" dict outputs from C++ optimizers
    setting up defaults so that "null_optimizer" is usable from REST
    remove next_points output from GradientDescentOptimizer
    naming standardization

********* TESTING DONE *************
make test
visual check of REST endpoints
if the caller provides a dict, the expectation is that the function will mutate it, right?  might want to indicate the param is rw as the others look implicitly const/ro