Steps toward making erase range update sindexes.

Adds a callback `rdb_modification_report_cb_t` that can be passed to
functions which will be doing an arbitrary number of updates to the
secondary indexes. Currently this callback is in theory working but
nothing uses it yet.
In theory we now update sindex from erase range.

Next up is a unit test.
Adds a unitest for erase range.

The unittest is passing so as of this commit we in theory have a working
erase range implementation that updates sindexes.
Fixes a number of minor things from the code review.

They are:
Adding a comment about what `erase_range_cb_t` does.
Removing a TODO that has been done with a previous commit.
Removing some trailing whitespace.
Removing another TODO and an unneeded line.
Fixes a deadlock in post construction that crept in.
Merge branch 'next' into next_to_555
Change some uuid_us to std::strings to make things compile.
Merge branch 'next' into next_to_555
Merge branch 'next' into next_to_555
Change error message for post construction.
Sindex->Index
Merge branch 'next' into sam_457_sans_libcxx

Conflicts:
	src/rdb_protocol/btree.cc
	src/rdb_protocol/protocol.cc