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
yey no more do-while-ness!  perhaps move the ```if (unlikely(gd_parameters.num_multistarts <= 0)) {``` check over here? github is making it hard to piece thru this (where is syntax highlighting? and wow this 1-col thing is driving me nuts) so i can't really tell if i'm making a bad suggestion-- mainly just suggesting the check be closest to where the condition is relevant