filesystem: added time_last_modified(); tidy.
test/filesystem/general: added filesystem::time_last_modified() test.
string: removed null_tag{} ctor, corrected use.¹

1: The lack of a default ctor definition prohibited the use of
StringRef in FixedArray, which was promising to be useful. Empty
reference as the init state is the only reasonable init state
anyhow. This did highlight one issue with KVS: there is no
null_tag ctor for KVS, so constructing a KVS with {null_tag{}}
resulted in the string value ctor being used instead of the
(most likely intended) non-existent null value ctor. This KVS
ctor will not be added, as null value is, like empty StringRef,
the reasonable init state.
test/kvs/general: corrected null-value KVS init.¹

1: Due to commit b42a18cbc40b946be823980645d148396acd424c, this
is no longer possible. There was no KVS null_tag{} ctor, so this
was actually using the string-value ctor. null value is the
reasonable init state for KVS, so there is no bare null_tag{} ctor.
tool_build/interface: corrected command declarations' param order.
args, memory, resource_manager: tidy.
serialization: allow 1 char for NUL terminator in SerString; tidy.¹
tool_build/resource_compiler: replaced manual serialization.
tool_build/interface: added --resources & selection to list command.
tool_build/package_compiler: added get_node().
tool_build/compiler_manager: added get_node().
tool_build/compiler_manager: added get_compiler() and get_package().