Object, array manipulations; Hooks for 'mixin'.

Provides object and array manipulations that are unwound on exception. This
should mean that they return the same object that you started with if they
fail.

The hooks provide a way to embed/mixin the node structure with another
structure. This is done by providing custom allocation and free callback.
Additionally it provides a validation callback which is called after a node
has been initialized. This provides a way to restrict what would be a valid
node further than what the present implementation allows (e.g. restricting a
node to be immutable or strings that can only contain ASCII).