Support selector rooted at nested node.

Currently the TagChecker will only match descendant nodes. That's fine when searching from the root, but not when selecting from an intermediate node. This patch will also match the initial node(s) as well for the first selector, then fall back to descendant for subsequent selectors. 

The primary test case is checkNestedSearch() from https://github.com/GistLabs/css-selectors/blob/6de5c5581c473a31e83c02743caad4df4be15eec/src/test/java/se/fishtank/css/selectors/NestedNodeSelectorTest.java

In truth I'm not sure why this one test value changed:
  testDataMap.put("*", 252);
see https://github.com/GistLabs/css-selectors/blob/6de5c5581c473a31e83c02743caad4df4be15eec/src/test/java/se/fishtank/css/selectors/DOMNodeSelectorTest.java