WIP on tim_table_reconfigure
Make a real implementation for table_reconfigure()

It also picks split points in a reasonable way. However, it's
currently not exposed to the user; i.e. there's no
"r.table_reconfigure()" command yet. Also, this hasn't been tested
or even run yet, although it does compile.
Add table.reconfigure() term
Add some tests for table.reconfigure(), but they don't pass yet
Fix a compilation error; some style issues; and a crash.
Make table.reconfigure() return the new configuration.
Rename reconfigure.{cc,hpp} to generate_config.{cc,hpp}
Make reconfigure() smarter in some situations. Improve reconfigure() error messages. Add polyglot test for reconfigure() error messages.
Use cross_thread_signal_t instead of accessing interruptor from wrong thread
Update polyglot tests. Fix polyglot tests for reconfigure(). Fix some bugs in reconfigure() implementation.
Make interface and polyglot tests for table.reconfigure pass.
Tear out old suggester.
Merge branch 'reql_admin' into tim_table_reconfigure

Conflicts:
	drivers/javascript/ast.coffee
	src/clustering/administration/artificial_reql_cluster_interface.cc
	src/clustering/administration/tables/table_config.cc
Remove distribution HTTP app.
Clarify RSI comment
Don't try to compute split points if we don't have good information about the distribution.
Add some comments
Don't expose split points to the user (issue #2895)
Merge branch 'reql_admin' into tim_table_reconfigure
Fix proto buffer ID collision.