Optimize filter with selector

Test: traversing - Parent (file: jquery.html)
  cheerio x 10,162 ops/sec ±11.24% (64 runs sampled)
  jsdom x 6,835 ops/sec ±12.34% (68 runs sampled)
  old x 442 ops/sec ±10.25% (65 runs sampled)
  Fastest: cheerio

Test: traversing - Parents (file: jquery.html)
  cheerio x 25.31 ops/sec ±15.27% (35 runs sampled)
  jsdom x 101 ops/sec ±13.70% (57 runs sampled)
  Fastest: jsdom

Test: traversing - Closest (file: jquery.html)
  cheerio x 53.89 ops/sec ±7.84% (48 runs sampled)
  jsdom x 126 ops/sec ±13.47% (63 runs sampled)
  old x 6.35 ops/sec ±14.50% (21 runs sampled)
  Fastest: jsdom

Test: traversing - Filter (file: jquery.html)
  cheerio x 7,547 ops/sec ±7.68% (73 runs sampled)
  jsdom x 6,233 ops/sec ±18.27% (56 runs sampled)
  old x 179 ops/sec ±42.74% (48 runs sampled)
  Fastest: jsdom

Test: traversing - Children (file: jquery.html)
  cheerio x 2,036 ops/sec ±14.00% (58 runs sampled)
  jsdom x 243 ops/sec ±16.94% (51 runs sampled)
  old x 217 ops/sec ±12.39% (54 runs sampled)
  Fastest: cheerio
Merge pull request #385 from kpdecker/opt-filter-selector

Optimize filter with selector
Optimize add and remove class cases

Test: attributes - Add Remove class (file: jquery.html)
  cheerio x 1,953 ops/sec ±1.70% (94 runs sampled)
  old x 718 ops/sec ±2.92% (88 runs sampled)
  jsdom x 55.61 ops/sec ±1.16% (74 runs sampled)