MNCL_KV, a key-value abstraction

This API is still subject to some design modification before
finalization, but the resource and JSON systems have been
reworked to use it. This shows some promise.
Refactor JSON sublib to export as MNCL_DATA
Deep copy operation for MNCL_DATA
Fix some memory leaks valgrind found.
Add semistructured data resource

Earthball demo now uses this to store instructions.
Update layer 0 and 1 docs