improve *-of-type and *-child pseudo selectors

This fixes the *-of-type and *-child pseudo selectors when a class name is specified (part of Issue #394) with the element being searched for.  Added tests for that scenario and they are all passing.  This also removed the need for preprocessing the node tree, thereby simplifying the code