Implement `$.prototype.addBack`
Organize tests for `cheerio.load`
Alter "loaded" functions to produce true instances

A common use case for this library is to generate a factory function
based on document markup via the static method `Cheerio.load`:

    var $ = cheerio.load(aStringOfMarkup);

...the resulting function can be used in much the same way as the
Cheerio (and jQuery) function itself. A notable exception is the
inheritance structure of the instance:

    $('div') instanceof $; // <-- false

This forces users to rely on a non-standard approach for determining the
type of a selection:

    'cheerio' in $('div'); // <-- true

Modify `Cheerio.load` to return a true constructor function--one whose
instances are instances both of the constructor itself and the `Cheerio`
function.

In addition, this change slightly improves efficiency in some use
cases. When a "loaded" function is invoked with the `new` operator, the
generated instance is used directly (instead of being discarded in favor
of a new instance of the Cheerio function).
Update tests to avoid duck typing

This informal and non-standard way of type checking is no longer
necessary.
Correct bug in implementation of `Cheerio#val`

jQuery does not attempt to calculate the value of a `radio` input group.
Instead, when the value of such an element is queries, that element's
`value` attribute is returned directly.

Although slightly less convenient in some cases, this allows for direct
manipulation of `radio` input element values (which is otherwise
impossible).
Merge pull request #542 from jugglinmike/instance-of

Alter "loaded" functions to produce true instances
Return a fully-qualified Function from `$.load`

The function generated by `$.load` should inherit from the `Function`
prototype so that methods like `call`, `apply`, and `bind` are available
to users.
Merge pull request #552 from jugglinmike/load-function

Return a fully-qualified Function from `$.load`
Correct error in documentation

The current documentation of the `map` method demonstrates an incorrect
usage. Because the function creates a Cheerio object containing the
values returned by the iterator function, the current example
demonstrates creating a Cheerio object whose members are themselves
Cheerio objects. The behavior of the `html` method invoked on such an
object is not defined.

Update the example to demonstrate a simpler, more tradition use of the
`map` method.
Merge pull request #556 from jugglinmike/fix-map-docs

Correct error in documentation
Expose DOM level 1 API for Node-like objects

Now that htmlparser2's default DomHandler supports the `withDomLvl1`
option, enable it by default for all parsed content.

Update the project documentation and tests to use this standard API to
exemplify usage.
Add explicit tests for DOM level 1 API

Instead of implicitly relying on other unit tests to exhaustively assert
the "shape" of the Node-like object's API, define a single test to
ensure that the documented properties are available and functioning as
expected.
Merge pull request #561 from jugglinmike/dom-lvl-1-2

Expose DOM level 1 API for Node-like objects
Merge pull request #527 from jugglinmike/add-back

Implement `$.prototype.addBack`
fix lint error
Clone nodes according to original parsing options

Internally, Cheerio clones node structures by rendering them to a string
of HTML and subsequently parsing that string. Ensure that the
intermediary string is parsed according to the same options used to
create the target Cheerio object.
Merge pull request #563 from jugglinmike/551-clone-options

Clone nodes according to original parsing options
Implement `Cheerio#not`

Closes #566.
Update Readme.md

Teeny tiny grammar fix.
Merge pull request #569 from ryanbreen/patch-1

Update Readme.md