Fix manipulation APIs with removed elements
Merge pull request #459 from kpdecker/reentrant-remove

Fix manipulation APIs with removed elements
Fixed typos. Deleted trailing whitespace from test/render.js
Merge pull request #468 from attomos/master

Fixed typos. Deleted trailing whitespace from test/render.js
Fence .val example as js
Merge pull request #470 from kevinsawicki/patch-1

Fence .val example as js
Rewrite `data` internals with caching behavior

Defer the storage and type coercion of HTML5 `data-*` attributes until a
read operation. At this time, cache the value of the data attribute so
that the DOM is not referenced again, as per the jQuery implementation:

> The data- attributes are pulled in the first time the data property is
> accessed and then are no longer accessed or mutated (all data values
> are then stored internally in jQuery). [1]

[1] http://api.jquery.com/data/
Merge pull request #474 from jugglinmike/data-as-cache

Rewrite `data` internals with caching behavior
alphabetize dependencies
makefile: add release-* targets
fix `make bench`
Merge pull request #476 from cheeriojs/xyz

makefile: add release-* targets
Release 0.16.0
add `muted` attr to booleanAttributes
sorted
Fixed a bug in removing type="hidden" attr

If you try to remove the type attribute from inputs when it's set to `hidden` Cheerio incorrectly assumes that it's boolean.

If I understand what `rboolean` is used for then this should fix this bug and prevent future similar ones.

Here's a failed test with the current version of Cheerio:

    var cheerio = require("cheerio"),
    	$ = cheerio.load('<input type="hidden" />');

    $("input").removeAttr("type"); // Type is now set to false instead of being removed

    var out = $.html(); // This will fail since it thinks type is a string
Changed == to ===
Added test
Fixed test
cheerio: rm unused variable