Object: corrected serialization exceptions, reordered properties.

Object:
	retain state if an exception is thrown during (de)serialization;
	made serialize() throw if prop is uninitialized (per spec);
	corrected userspace exceptions for serialize_impl();
	added notes for serialization functions;
	corrected docs for parent property;
	reordered property accessors;
	renamed scratch_data property to scratch_space, added accessors.
Data::Metadata: ensured (de)serialization doesn't mutate¹ on throw.²

1: As required by Object::Unit.

2: As a nice consequence, this fixes a bug in deserialize(): space was
reserved in this->fields, but no insert() nor emplace() was actually made
-- essentially, it should've been a resize() or insert()/emplace().
Currently using resize() via des_fields ctor.
Hive::Unit: implemented deserialize_impl() and serialize_impl().
Data: doc tidy.
Object::Unit: more owner property doc corrections.¹

1: *sigh*. Maybe that's all of them.
Cmd::Node::Create: corrected parent property refs.
Rule/Defs: corrected type_info::construct() params; doc tidy.¹

1: Rascals.
Node::Unit: implemented deserialize_impl() and serialize_impl().

Node::Column:
	removed m_ prefix from properties (is a data struct);
	added deserialize() and serialize().