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.
merged
removed superfluous call from bad merge
fixed transform visitor
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.
merged
fixed NDEBUG double-negative problem
fixed stupid syntax error
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.
Prepare NOTES for 1.4.3 release
Resurrect integration tests
Do not strip the rethinkdb executable when building the debian package

Debhelper will strip the executable for us and use the unstripped executable to create
the rethinkdb-dbg package.

Issue #624
Style fix in NOTES file
Throw an exception if an index is post constructed.
Makes unpostconstructed  sindexes throw.
Fixes a deadlock in post construction that crept in.
Make it easier to re-run just one RQL test

Issue #574
Merge review 357 by @mlucy (Close #574)
Merge v1.4.3 into next

Conflicts:
	src/rdb_protocol/btree.cc
	src/rdb_protocol/datum_stream.cc
	src/rdb_protocol/error.hpp