Adds documentation to all classes, still some TODOs though.

Sorry for the big pull request :)

There's now YUIDoc style documentation for every file inside slimdom.js and all tests are still valid (even though I changed the odd parameter name here and there and/or changed a couple of cloneNode implementations). All these functional changes were very minute so I don't predict any problems.

There is one "big" breaking change I made. I renamed the "selection" directory to "selections" to be more congruent with "mutations" being plural as well.