Remove all AsyncListener JS code

Squashed for simplicity. There are also changes in the naming of some of the native API's so what it's called actually reflects what is going on. Also added a few TODO's, etc.

Review, comment, and if necessary I'll break up the commits into relevant segments.

Also, didn't add https://github.com/tjfontaine/node/commit/6a74d6c to the changes. If that conditional is hit then there's a bug in the code. I'd rather add an `ASSERT()` or the like that can be reported instead of silently ignored.

/cc @tjfontaine @indutny @orangemocha
@misterdjules Also note there were a couple issues I was debating over. e.g. `readFile` actually has several internal calls (e.g. `open`, `read`, `close`) and I wasn't sure how it should be set. In the end I decided that the requests would be chained together by setting `req.preq` equal to the **p**​arent **req**​est. This way the request chain can be traced up the call tree.