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.
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.
For deduping code, templatized some shard visitor methods in both the protocol.cc files.
Merge branch 'next' into sam_665
Removed unused outdated_read_info_t::subop field.
Made shard functions return bool instead of outputing a vector of pair<size_t, op_type>.