Changed Set and Push, added child iteration.

Set and Push were slightly unintuitive as they asked for the value
before the name of the target to modify. This was only to allow for
multi node paths to be specified, but this is easily and more clearly
done by chaining with the Search or Path methods. Therefore, they have
been changed to only request the name of the child target followed by
the value.

A new method Children() has been added that returns a slice of
containers representing all children of the target object or array. In
the case where the target is an array the children will be returned in
order. If the target is an object, however, the order of the children
cannot be guaranteed.