extract _NAN_*_RETURN_TYPE, pull up NAN_*()

I had reason to need a `_NAN_METHOD_RETURN_TYPE` today so I did this.

Is this getting out of hand? The saving grace here is that we finally have enough information to pull the NAN_*() macros up out of the Node version branching.