utf8: validator

For sanity-checking UTF8 without decoding.
test_cfparser: allow run from top dir
cxextra: custom alignment for pool
cbtree: disallow double keys
cbtree: allow long keys
make: tags
dox: fix file locations
base: support magic clang macros, cleanups
bits,endian: stop depending on libc

Instead try to get compiler involved.

endian: add host-endian enc/dec functions.
test/compile: disable unused func warning
test_cxalloc: fix printf warning
shlist: fix empty check
shlist: convert to offsets relateive to node itself

Simplifies api and makes it more similar to list.h
as list head does not need to be carried around.