doc: removed extraneous @sa refs for object ID types.
utility: added general hashing utilities.
Cmd: replaced ID with general hash type.
Removed Hive & reappropriated functionality to Datastore.¹

Object/Defs: made BaseType::Anchor come first.

Object::Unit: removed get_id_bare().

Cmd::Hive: renamed command group to Cmd::Datastore.

IO::Datastore:
	added UPtr type and ID property;
	removed set_root_path();²
	added State::initialized to track Cmd::Datastore::Init status.

1: Hive made the object hierarchy and system interaction too complicated.
User-specified Hive unit types were the only real benefit, and I don't
think it would've had much use as specialization appears to be mostly
useful only for other object types. ID_NULL now counts as the root for
parenting.

2: A Datastore ID is the hash of its root path. It cannot mutate because
System::Driver uses it as a key. This may change in the future.
Cmd::Datastore::Init: corrected invalid parent check.