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
you can also just do std::string(log_likelihood_eval.kName) + "_newton_found_update"

string has a ctor for c-strings and then you'll get the cast and operator+() you want

just <3 for not using strcat