No longer confuse curl and libcurl in the configure script

Closes #2559
Review 1775 by @larkost
Correct exit code when test/run fails

Review 1675 by @larkost
JS driver - batchConf -> batch_conf - Related to #2707
Add a pre-release status script

Review 1796 by @larkost
cursor.close() returns a promise -- #2591
Typo
Propagate the callback for cursor.close
Don't try to support old cluster versions in the directory_read_manager, when we don't do it anywhere else in the cluster code.
Removed version parameter to on_message()
fixing memory leaks when datum_t construction throws
changing datum_t::data_wrapper_t to be RAII
fixing memory leaks when datum_t construction throws
fixing build
Tolerate vector clock conflicts in the blueprint

Previously, namespace_repo_t would crash if there was ever a vector clock conflict in the blueprint. Now it silently ignores the conflict; while this isn't guaranteed to preserve availability, at least the server will stay alive so that the user can fix the problem.
changing datum_t::data_wrapper_t to be RAII
Merge branch 'next' of github.com:rethinkdb/rethinkdb into next
Don't generate new blueprints unnecessarily.

Previously, we would generate a new blueprint for every table after every db_create(), db_drop(), table_create(), or table_drop() operation. This lead to a lot of spurious vector clock conflicts. With this commit, we only generate a new blueprint after table_create() and only for the newly created table.
bump JavaScript driver to v1.13.0-3
merge of #2583 zombie server processes

Found that not all rethinkdb server processes were being shut down because we were relying on __exit__ being called when it goes out of scope. But those handlers are not generally called when the process exits.
Add regression test for issue 2738.