Fix for keeping and using custom Cheerio options (Issue #273)

Cheerio.prototype.options are now overwritten if Cheerio is
instantiated with an options object.

cheerioinstace.options is now passed to parser when adding new dom
nodes to an existing Cheerio instance.
Updated to fit Cheerio's code conventions.
Fix bug in `empty` method

Ensure that when a node is empty, the childrens' `parent` reference is
destroyed.
Add performance optimization for  `empty` method
Accept one or more node references as a context

From the jQuery API documentation on the `jQuery` function [1]:

> ## Using DOM elements
>
> The second and third formulations of this function create a jQuery
> object using one or more DOM elements that were already selected in
> some other way.

[1] http://api.jquery.com/jQuery/#using-dom-elements
added parentsUntil method
Filter duplicates and add  more tests for parentsUntil method
allow cheerio.load work with DomHandler
accept dom of DomHandler to cheerio.load
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)
fix 'content undefined'
update version
Optimize manipulation methods

Does reduce empty performance but this is due to a bug fix that caused replaceWith to corrupt the siblings object on reinsert.

Test: manipulation - append (file: jquery.html)
  cheerio x 4,579 ops/sec ±18.36% (57 runs sampled)
  old x 1,692 ops/sec ±13.21% (39 runs sampled)
  Fastest: cheerio

Test: manipulation - prepend (file: jquery.html)
  cheerio x 2,886 ops/sec ±35.24% (39 runs sampled)
  old x 1,627 ops/sec ±19.80% (26 runs sampled)
  Fastest: cheerio

Test: manipulation - after (file: jquery.html)
  cheerio x 2,383 ops/sec ±53.63% (39 runs sampled)
  old x 1,569 ops/sec ±29.27% (33 runs sampled)
  Fastest: cheerio

Test: manipulation - before (file: jquery.html)
  cheerio x 2,547 ops/sec ±64.05% (43 runs sampled)
  old x 1,682 ops/sec ±22.53% (35 runs sampled)
  Fastest: cheerio

Test: manipulation - remove (file: jquery.html)
  cheerio x 48,693 ops/sec ±4.05% (81 runs sampled)
  old x 32,029 ops/sec ±41.81% (68 runs sampled)
  Fastest: cheerio

Test: manipulation - replaceWith (file: jquery.html)
  cheerio x 345 ops/sec ±3.95% (75 runs sampled)
  old x 303 ops/sec ±5.46% (74 runs sampled)
  Fastest: cheerio

Test: manipulation - empty (file: jquery.html)
  cheerio x 80,074 ops/sec ±5.88% (78 runs sampled)
  old x 265,760 ops/sec ±9.57% (68 runs sampled)
  Fastest: cheerio
Implement `$.fn.get`
Deprecate `$.fn.toArray`

Because `$.fn.get` is more powerful than `toArray` and because `toArray`
is not implemented by jQuery, the `toArray` method is no longer
necessary. Deprecate it so it may be more safely removed in some future
version of this library.
Merge pull request #415 from jugglinmike/get

Implement `$.fn.get`
use latest htmlparser2 and entities versions
call encodeXML and directly expose decodeHTML
Merge pull request #417 from MatthewMueller/version_updates

Version updates
More links to htmlparser2...

...notable before listing the options