Update HtmlParser2 version

The latest version of HtmlParser2 has deprecated the `ignoreWhitespace`
option in favor of a new option, `normalizeWhitespace`.

Allow for future patch releases of HtmlParser2 to automatically
"upstream" into Cheerio.
Introduce rudimentary benchmark suite

Compare the performance of Cheerio at HEAD with jsdom [1] using jQuery.
Include a new GNU Make target: `bench`.

[1] https://github.com/tmpvar/jsdom
Merge pull request #314 from jugglinmike/bench

Introduce rudimentary benchmark suite
Merge pull request #313 from jugglinmike/bump-htmlparser2

Update HtmlParser2 version
Ignore colons inside of url(.*) when parsing css

Parsing by css is totally wrong, but this will at least not break on `url(http://whatever);` anymore! Closes issue #315.
Enforce project quotation mark style

As documented in this project's `CONTRIBUTING.md` file, string literals
should be defined using single quotes. Add this setting to the JSHint
configuration file, and correct occurrences of double quotes.
Implement `$.fn.end`

From the jQuery API documentation[1]:

> **Description**: End the most recent filtering operation in the
> current chain and return the set of matched elements to its previous
> state.
>
> Most of jQuery's DOM traversal methods operate on a jQuery object
> instance and produce a new one, matching a different set of DOM
> elements. When this happens, it is as if the new set of elements is
> pushed onto a stack that is maintained inside the object. Each
> successive filtering method pushes a new element set onto the stack.
> If we need an older element set, we can use end() to pop the sets back
> off of the stack.

[1] http://api.jquery.com/end/
Simplify internal function

By returning an Array of DOM nodes, `traverseParents` can operate
faster, and `Cheerio#closest` can be made more efficient by not
needless wrapping intermediate results in Cheerio objects.
Correct bug in `Cheerio#parents`

Ensure that:

- The parents of *every* element in the selection are returned
- The descendent groups are added to the returned set in reverse order
  of the original elements
- The result set contains no duplicates
Merge pull request #318 from jugglinmike/fix-parents

Fix parents