doc: added build script.
kvs: added missing utility #include in kvs_types.hpp.
kvs: added KVSNameHash, UDL, KVS_NAME_HASH, and hash_name().¹

1: If the type for the name hash ever has to change (very possible),
this will make it much less likely to result in issues.
test/kvs/general: updated name hash expressions.
test/resource/general: added inner dot path test.
args: added command-leading option parsing; tidy.
test/utility/args: added command options; tidy.
assert: added newline before message for assertion macros.¹

1: Long expressions and messages were hard to read.
resource: static_assert hash sizes to remind of binary dependence.
resource: added break between RESTYPE constants; tidy.
resource: added RES_NAME_NULL.
resource: normalized hash expressions.
resource: added ResourcePackageNameHash & its resourcey facilities.¹

1: This will replace the root path hash for packages once the
binary model is merged. This will happen after tool_build is
relatively stable. For now there will be a little bit of disparity
between the interface and what packages actually do. It won't match
what tool_build produces, either.
test/resource/general: updated hash expressions.
test/resource/manager: s/RESTYPE/RES_TYPE/g.
tool_build: stubbed out compilers, packages, and interface.

tool_build/types: new module.
tool_build/resource_compiler: new module.
tool_build/package_compiler: new module.
tool_build/compiler_manager: new module.
tool_build/interface: new module.
doc/pages/tool_build: added stubs for new modules.