`.setFocusToNode` can set either to node or to inside node at start.

Before, it could only set to inside a node.

Now it can also set to node itself.
`.setFocusToNode` split: `.setFocusBeforeNode` and `.setFocusInNode`.
Merge pull request #511 from mightyiam/issue_509

Having different `setFocus` in/before `node` methods makes more sense.
Fix typo in a code comment.
Began overhaul on selection getting. Includes test.
Fixed typo.
Normalize Gecko `.nodeAfterSel` return value.
A little leftover from selection getting overhaul.
Renamed `.container` to `.mainContainer` due to new `.selContainer`.
Fixed typo.
Better code comment.
Normalize `.selContainer` return value across browsers.
Introduced `.canSetFocusBeforeNode` and `.canSetFocusInNode`.
Fixed typo.
Fixed typo.
`.nodeAfterSel` throws an exception if selection is not collapsed.

Introduced `.selMustCollapsed`.
NON_CARET_ELEMENTS constant: removed 'th' and added 'thead' and 'colgroup'.
Collapsed selection test: Added a table to the test HTML.
NO_CARET_ELEMENTS: Added 'body' and 'blockquote'.
Set & get collapsed selection test: Exclude editor utility elements.