Internal: instead of putting all the declared bindings into the root of the options object, put them into an object under the key "bindings"
Don't bind nodes that have no bindings declared

This changes the meaning of the scope.$.nodes() function. scope.$.roots() stays the same.

We do this so that we can call bind on BODY, for example, and not end up with an enormous array of nodes that we have to iterate over each time through apply.
Repeating: don't apply to the repeated node, it has been changed into a COMMENT node