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
only use static requires

cheerio is now browserify-able
added linebreaks
revert version change
rename 'strOrDom' to 'content'; use _.isString
Merge branch 'load-by-domhandler' of https://github.com/nleush/cheerio into load-by-domhandler
use shortcut htmlparser.parseDOM
Release 0.14.0