array: made grow() inline.
kvs: changed decimal value type to f64.
kvs: ensure name() and string() always return a valid pointer.
kvs: ensure strings have NUL terminator; added collection inteface.

kvs: clear() with dynamic types (collection or string) no longer
frees memory. free_dynamic() added specifically for this purpose.
test/kvs/values: corrected string size assertions.
kvs: added operator[] for child access.
kvs: added copy & move ctors and copy() & move().