more keywords
Fix passing context as dom node

Currently you can do this in JQuery:

    var $div = $('<div><p></p></div')
    $('p', $div[0])

But it throws in Cheerio. Fixed it.
it's -> its

Can't get any more trivial than that
Merge pull request #379 from dandv/patch-1

it's -> its
pin entities to <0.4
Merge pull request #382 from globin/pin-entities

pin entities to <0.4
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
Add single element benchmark case
Add test for removeAttr+attr on boolean attributes

Conflicts:
	test/api.attributes.js
Remove unnecessary encoding step for attrs

Test: attributes - Attributes (file: jquery.html)
  cheerio x 7,999 ops/sec ±4.13% (72 runs sampled)
  old x 4,423 ops/sec ±1.05% (98 runs sampled)
  jsdom x 65.22 ops/sec ±5.70% (69 runs sampled)

Test: attributes - Single Attribute (file: jquery.html)
  cheerio x 838,986 ops/sec ±5.47% (71 runs sampled)
  old x 328,370 ops/sec ±3.00% (90 runs sampled)
  jsdom x 11,593 ops/sec ±3.69% (88 runs sampled)

Test: attributes - Data (file: jquery.html)
  cheerio x 188,847 ops/sec ±3.71% (79 runs sampled)
  old x 6,894 ops/sec ±3.14% (89 runs sampled)
  jsdom x 3,963 ops/sec ±2.68% (89 runs sampled)
Remove unnecessary check from removeAttr
Merge pull request #387 from kpdecker/opt-attr-encoding

Optimize Attribute Encoding
Add html rendering bench case
Simplify attribute rendering step

Removes the keyscan used to determine the size of the object.

Test: manipulation - html (file: jquery.html)
  cheerio x 9,709 ops/sec ±5.94% (76 runs sampled)
  old x 8,992 ops/sec ±8.62% (74 runs sampled)
  jsdom x 41.48 ops/sec ±9.33% (56 runs sampled)
  Fastest: cheerio

Test: manipulation - html render (file: jquery.html)
  cheerio x 103 ops/sec ±10.82% (62 runs sampled)
  old x 87.58 ops/sec ±11.02% (62 runs sampled)
  jsdom x 44.88 ops/sec ±13.67% (52 runs sampled)
  Fastest: cheerio
Cache tag check in render
Use string concat rather than [] join

Node's current v8 version is able to perform multiple string concat faster than the older array join.

Test: manipulation - html render (file: jquery.html)
  cheerio x 240 ops/sec ±2.33% (83 runs sampled)
  old x 144 ops/sec ±4.30% (79 runs sampled)
  jsdom x 56.46 ops/sec ±4.27% (62 runs sampled)

Conflicts:
	lib/render.js
Add independent html benchmark

Covers parser and rendering from initial html content.
Avoid delete operations

This helps us avoid a backing class change and any associated deoptimizations that may occur.
Merge pull request #388 from kpdecker/opt-render

Optimize Render