hash: return identity instead of 0 in calc functions; tidy.
string: added null_tag StringRef ctor.
string: added compare_equal().
test/string/general: added new test group and test for string module.
test: renamed general/assurance tests to general.
utility: made min(), max(), and clamp() constexpr.
kvs: made type ctor public and init-safe, added name-and-type ctor.
kvs: added find().
kvs: reordered _name for better member packing.¹

1: With unsigned of 4 bytes and pointer of 8 bytes, 4-byte padding
existed after _type and _name_size.
kvs: changed KVSType underlying type and size types to u32.¹

1: Considering there will be a decent mass of KVS objects alive
at runtime, I want to ensure the cost of using it is certain.
string: added size(); tidy.
doc/pages/kvs: added note about kvs::find() short-circuit.
kvs: corrected find-hit assurance check.
test/kvs/general: added find() tests, updated string comparisons.
test/.gitignore: made data/ ignores explicit.¹

1: Some future data will be carried with the repo.
gfx/renderer: new interface (rudiments).
app: added renderer member.
kvs::find(): sate unused parameter error in release build.