async-wrap: move MakeCallback to .cc

MakeCallback is too large a function to have as an inline. Correct that
by moving it to a .cc file.
node, async-wrap: remove MakeDomainCallback

A lot of code duplication for the removal of a single if statement is
not worth the added code complexity.

Also fixed using v8::Value::As<T>() before verifying the type of the
Value. Casting to an incorrect type will cause V8 to abort in debug
mode.
node: fix throws before timer module is loaded

An edge case could occur when the setImmediate() in _fatalException()
would fire before the timers module had been loaded globally and cause
Node to crash.
src: all wrap's now use actual FunctionTemplate

Instead of just creating a new Object to contain the connection
information, instantiate a new instance of a FunctionTemplate. This will
allow future improvements for debugging and performance probes.

Additionally class providers have been clarified such that the
"provider" field in req_wrap.h is no longer optional.
src: remove unnecessary template parameter
WIP: async-wrap: expose async-wrap as binding

Expose basic hooks for AsyncWrap via the async_wrap binding.