WIP on tim_server_status
Implements rethinkdb.server_status pseudo-table.
Add a test for rethinkdb.server_status. It mostly passes.
Made rethinkdb.server_status correctly report ports even if they were chosen by the OS instead of being specified directly.
Merge branch 'reql_admin' into tim_server_status
Add rethinkdb.db_config pseudo-table for renaming databases.
Add unit test for rethinkdb.db_config pseudo-table.
Remove code to automatically rename servers in case of a name collision.
Many minor style and bug fixes:
- Remove spurious backslash in serve.cc
- Use uint16_t for ports instead of int
- Remove spurious include in datum_adapter.hpp
- Remove anonymous namespace in server_status.cc
- Remove incorrect comment in server_common.cc
- Be rigorous about home threads in pseudo-table backends
Use microtime_t instead of time_t.
Change interface.specific_table test so that it tests artificial tables and rename it to interface.artificial_table. Also, fix a test error.
Make artificial_table_t use a special datum_stream_t subclass that fetches results incrementally.

Now that it no longer uses array_datum_stream_t, it won't appear as an array when users call .type_of(), so the interface.artificial_table test passes.
Actually use uint16_t for ports instead of int. (My previous commit forgot to change the one place that actually mattered.)
Merge branch 'reql_admin' into tim_server_status

Conflicts:
	test/full_test/interface.test
Merge branch 'reql_admin' into tim_no_autorenaming_servers
Remove kwargs.setdefault() calls in table.reconfigure in python driver.
Fix #3015. Reviewed by Marc.
Merge branch 'reql_admin' into tim_test_artificial_table

Conflicts:
	src/rdb_protocol/artificial_table/artificial_table.cc
	test/full_test/interface.test
Update comments in backend.hpp.
Update comments in backend.hpp. (2)