[index] when no elements are passed, return an empty result set
[compile] fixed rule reduction logic

the empty selector (`''`) previously matched all elements of the page
[index] added options argument to all public methods
[attributes] implemented several `noCaseAttributeRules` without regexps
[pseudos] fixed `getAttribFunc()`
[pseudos] fixed :empty and :parent implementations

the spec for :empty also considers text nodes content
[tests] semantic changes, added createTextNode and documentElement to `getDocument`