Moved Datum and cJSON constructors outside of datum_t, into to_datum functions.
Removed useless datum_t default constructor.
Removed datum_t::UNITIALIZED state -- now that construction from cJSON and Datum objects is done outside.
Reduced the amount of creation of partially initialized datum_t values.

Added datum_object_builder_t to replace applicable uses of datum_ptr_t.