Convert falsy values to an empty string for IO XHR request bodies

IE has a complex where it interprets falsy values into their string
representations; e.g., `undefined` -> "undefined". This is clearly crazy
so this combats the craziness by making sure IO sets XHR request bodies
to an empty string.
Clean up IO's echoecho tests

The tests were storing state between request, this removes that. The
`testPOSTWithNoData` test has been updated to expect echoecho to now
correctly return a 204 response status.
Make sure IO's node.js transports assigns `responseText` a string

To conform to XHRs work in the browser, this change makes sure IO's
node.js transport returns an empty string for falsy response bodies.
Fix typo in snarky IE code comment
Update IO's change history
Make sure the YUI npm package is always built on Travis
Revert "Make sure the YUI npm package is always built on Travis"

This reverts commit 2574fb345fd6d3cfc49f720969024e6d98119943.
Merge branch 'io-ie-jazz' into dev-3.x
Build IO
Build Simple YUI
Object.keys -> Y.Object.keys. Fix for IE 6-8.
Build test-console.
Fix trailing comma in Flash Uploader test.
Merge branch 'es3-test-console' into dev-3.x
Merge branch 'fix-trailing-comma-uploader' into dev-3.x
Fixed loader tests that had new modules in it's requires
Removed the loader hack from tests again
Ignore a test in older IE's due to dep resolution
Made the Loader test stronger