Merge pull request #5 from snikch/master

Remove whitespace (again)
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
Separate repeat nodes from the regular nodes. Init repeat nodes on bind rather than first apply.

Now nodes() won't return repeat nodes. They don't exist in the DOM properly anymore anyway.
Test: nodes and roots
Test: nodes and roots
Add scope.$.children, and keep track of child scopes to do this. scope.$.nodes now includes all child scope nodes.

Maintain references to parent / child scopes using the manager rather than the scope. That ought to work when the scope is replaced using the replace function.
Test: nodes with new includes child scope nodes and nodesLocal
v0.6.0
Implement missing scope.$.unbind function
Bug: unbind didn't actually remove nodes from the internal data structures because *someone* wrote slice when they meant splice
Bug: repeat didn't unbind elements it threw away
Test: nodes
Tests: repeat
v0.6.0 minified and gzipped
README: note about nodes() including child scopes
Get rid of all the *Local functions and just pass boolean parameters for an optional includeParents
Test: snapshot & merge
v0.6.1

Another cheeky breaking-changes point release because it was so soon after v0.6.0. This removes all of the *Local functions and replaces them with passing a false to an optional includeParents parameter which defaults to true.