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.
Remove vector clocks

Vector clocks are now replaced with a (value, timestamp, uuid)
triple. When two triples are joined, the one with the higher
timestamp will be chosen. The UUID is randomly generated for each
triple; its only purpose is to break ties.

This commit also removes a bunch of logic for supporting /ajax,
because it's being replaced by the ReQL admin API anyway, and
removing it was less effort than updating it.
Remove junk file; fix bug; fix style issues.
Add some comments
Make versioned_t::make_initial into a constructor. Add a bunch of comments.