Check that `process.domain` still exists

There is a `domain` edge case where a user of domains may do something like

```js
domain.on('error', function () {
  this.exit();
})
```

This causes a cascading failure in redis where it either exits the NEXT domain up the stack or tries to invoke `.exit()` of null.

I think this usage of domains is actually a user / programmer error but redis should still gaurd against it.

cc @sh1mmer