async-wrap: add attachAsyncListener for prototype

We need the ability to attach an asyncListener to an existing handle if
domains are going to be properly emulated. So now applicable methods
that need to attach their asyncListener after they've been created can
do so directly from the handle.

Also fixed that loadAsyncQueue should have been run using the
process_object() for context so error messages doing appear like
Pipe.runAsyncQueue().
pipe_wrap, tcp_wrap: use AsyncWrap::AddMethods()

Currently this will just attach the additional method
attachAsyncListener to the prototype. This will allow an async listener
to be added after it's been created.

This method will be added to additional class initializations as are
needed.