feat(responseHandler): init

Added ability for a custom response handler to be set in the provider during config.  This handler will accept a deferred object (to reject or resolve) and the data returned by the socket call.
Also modified the default handler to resolve if the data.status is `NaN`.

This is a less opinionated approach and allows the end user to do more by specifying custom logic for determining if a socket call returned success or failure.