Merge branch 'v1.8.x' of github.com:rethinkdb/rethinkdb into v1.8.x
Delete a single element in the history. Related to #1297
Made comments more grammary.
Moved func_cache_t out of env_t.
Moved global_optargs_t out of env_t.
Separated gensym_t out from env_t.
Moved scopes_t out of env_t.
Moved implicit_vars_t out of env_t.
Moved cluster_env_t out of env_t.
Gave throw_if_interruptor_pulsed a friendly  THROWS_ONLY declaration.
Made env_t::this_machine be const.
Made ql::sym_t exist and be used for gensym values.
Added missing sym.hpp and sym.cc files from previous commit, removed env_t::gensym.
Removed unused func_t::js_runner variable.
Made RSI comments more polite and removed the unused functions ql::pb::{set_int,set_str}.
Made special_var_shadower hold a scopes_t *.
Removed an unnecessary static_cast.
Made call and filter_call methods of func_t be marked const.
Made func_t::get_source be marked const.  (Every method of func_t except set_default_filter_val is const).
Moved default_filter_val out of func_t.