Rearranged init_from_pb so that it is provably impossible for datum_t::r_num to be non-finite.
Removed the datum_t(Datum *) constructor, made datum_from_pb.
Got rid of the datum_t default constructor (and UNINITIALIZED type_t).