Pass out reference values in update functions.

This is needed because these reference values will be inserted in to the
secondary index trees instead of copies of the value.
Clear blobs after sindex delete.

After the blob is no longer referenced in anyway we clear out the blob
so the pointed to space can be gced.
Only put references in the sindex btrees.
Release NOTES draft for v1.8.0
Use inline_size instead of value_size.

This fixes numerous bugs.
Update NOTES
Update NOTES draft
fixes #1290
Fixed typos and clarified some changes in NOTES
Merge branches 'v1.8.x' and 'v1.8.x' of github.com:rethinkdb/rethinkdb into v1.8.x
Merge branch 'next' of github.com:rethinkdb/rethinkdb into next
fixing some problems with import error reporting, performance, and interruption; import now requires --force to import a table with rows with identical primary keys
fixing an error in import when reading json files and tweaking performance slightly
fixing some problems with import error reporting, performance, and interruption; import now requires --force to import a table with rows with identical primary keys
fixing an error in import when reading json files and tweaking performance slightly
Removed json_list_t typedef in btree.cc.
Fix a potential bug with erase range.

The bug was that it was possible for the erase range in the primary
btree to clean up a blob while the secondary btrees still had a
reference to it. Now this is impossible because we wait for the
secondary btree's erase to be completely done before we dispatch the
primary btree's erase.
Remove an unused constructor.
Added lazy_json_t and moved get_data and rdb_value_t to lazy_json.hpp.
Removed json_list_t typedef in btree.cc.