Replaced boost::shared_ptr<scoped_cJSON_t> to the less satanic "std::shared_ptr<scoped_cJSON_t>".
Replaced std::shared_ptr<scoped_cJSON_t> with std::shared_ptr<const scoped_cJSON_t>.
Made kv_location_set take a datum argument, convert to json itself.
Made rdb_protocol/btree.cc include its own hpp first.
Added serialization/deserialization for counted_t<const datum_t>.
Removed containers/archive/counted_type.hpp and removed the generic counted_t serialization implementation inside it.
Gave datum_t move constructors, made deserialization use move constructors to reduce copying.
Removed old, bad, and direct datum_t serialization methods.
Removed non-move datum_t::array constructor.
Removed non-move std::map datum_t constructor.
Removed datum_t(const std::string &) constructor (in favor of datum_t(std::string &&)).
Added empty_ok and used it for sindex_range_t fields.
Made the on-disk format be serialized datum_t instead of serialized cJSON.
Made rdb_modification_info_t::deleted and added be datum_t instead of cJSON.
Made transform_apply use datum_t.
Removed unused rdb_modification_report_cb_t methods add_row, delete_row, and replace_row.
Made rget_read_response_t::data be a datum_t.
Made rdb_protocol objects use datum_t.
Made estimate_rget_response_size not use cJSON.
Moved std::string serialization to .cc file.