Replace the `utils.decode` and `utils.encode` with the underscore's html escape/unescape function

Replace the `utils.decode` and `utils.encode` with the underscore's html escape/unescape function. Much faster and more stable.

For example, when a tag's attribute contains Chinese characters, the `$.html()` will produce unexpected value.

    cheerio = require('cheerio');
    $ = cheerio.load('<div title="你好世界"></div>');

    console.log($.html());
    // Result: '<div title="&#20320;&#22909;&#19990;&#30028;"></div>'
    
The result `&#20320;&#22909;&#19990;&#30028;` is not what it expected to be. You should only escape html special chars in attributes, such as these `<>"&';` , not all utf-8 chars.