NSError+Extra: underlying error helpers, recursiveDescription, not connected to internet error detection
errorWithDomain:code:userInfo:underlyingError:underlyingError, error.underlyingError, isNotConnectedToInternetError