Made global optargs actually propagate to the shards properly (cf. Issue #683).
Merge branch 'v1.4.x' of github.com:rethinkdb/rethinkdb into v1.4.x
Added nonempty assertion to batched_replaces_t constructor.
Added guarantee that an empty batched write is not created in rdb_w_shard_visitor_t.  This guarantee fails.
Merge branch 'next' into sam_665
Removed .shard of the write in listener_t<>::perform_enqueued_write.

Either the change is correct, or the code was already broken.
Assertions in both the memcached and rdb_protocol write_t::shard
methods would make the code crash if the shard call could ever receive
a subset of the write's region.  The .shard call in listener.cc was
added as part of a larger change to a bunch of stuff that got things
working, not for specific discernable reason.  And it would be
obviously broken if it ever actually _did_ affect the value of the
write being passed on to the store.
adds JS timeout option
Merge branch 'next' of github.com:rethinkdb/rethinkdb into js_timeout
Implemented new shard function that takes all regions at once, compiling and untested.
Merge branch 'next' into sam_665
Made the test/rql_test/MakeFile pass a directory parameter to find.
Added 665.yaml test, for which I have no idea if it runs correctly or not.
Added array_t, passed that to shard instead of copying.
Removed backfill_chunk_t::shard functions.
Got rid of backfill_chunk_t::get_region.
Removed complaint that array_t should not be in protocol_api.hpp.
Removed unused dummy protocol multistore_unshard function.
Removed way out-of-date protocol_api_notes.hpp file.
Removed some weird SAMRSIs in dummy_protocol_t that said things would have to be "implemented."  They ARE implemented??  I thought.
Removed dummy_protocol_t::backfill_chunk_t::shard.