Adding start of nxn_pack and nxn_bufview.

nxn_pack is like a limited version of Python's struct module.

nxn_bufview is a readonly buffer that does not retain the underlying memory
(somewhat like Python's memoryview).  It is useful when you have a char *buf and
need to parse the data, but don't want to impose the memory penalty of creating
an nxn_bytebuf out of the char *buf in order to achieve this task.  Apple's
CoreFoundation often exposes API's of the copy / nocopy variety (e..g
CFDataCreateCopy and CFDataCreateWithBytesNoCopy).  I prefer to separate the
two uses into different types; it results in some duplicate code, but is easier
for me to reason about.