Add/rearrange some headers to make the style checker stop complaining. Fixes #2686. Fixes #2687.

Reviewed by Daniel Mewes.
Mark a constructor explicit so the style checker stops complaining. Fixes #2688.

Approved by Daniel Mewes.
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 abstraction barrier between ReQL code and administrative code

Previously, the ReQL code directly manipulated semilattices when operating on databases and tables. Now, it manipulates them through an abstract interface that is implemented by a class is clustering/administration/.

I also moved rdb_context_t and related classes into their own file, rdb_protocol/context.hpp.
Make rdb_protocol/ never include clustering/.
Shorten long lines introduced in previous commits.
Make error messages the same as they were before, except for in the case of name conflicts or metadata conflicts.
Minor fixes suggested by @Tryneus.
Fix for #2359
Merge pull request #2716 from eliangidoni/fix-2359

Fix for #2359 by @eliangidoni
Minor fixes to previous merge (#2359)
Merge branch 'next' into tim_abstract_admin_interface
Merge branch 'next' into tim_abstract_admin_interface
Improve fix for #2359
More improvements for #2359
Makefile fixes and new `make deps' rule

Review 1773 by @larkost
Closes #2685
Closes #2209
Patch the phony list

Review 1781 by @larkost
Merge atnnn/2209 into next