Improved error exception reporting under iOS

While using the ModernHttpClient on iOS, I noticed that errors would not necessarily get passed back to the calling application, other than as a string message. Sometimes, it is more useful for the application to react based on the error.

A critical use case here is when the error is a connection timeout. If the connection timed out, an application may look at another way to try the connection to a server, or perform different logic such as looking at a local cache. When the returned `WebException` does not contain a parseable value for `WebExceptionStatus` other than `UnknownError`, this becomes difficult.

I have therefore modified the error handler to directly translate error codes in the returned `NSError` from the system to `WebExceptionStatus` codes. I removed the test against a string starting with "cancel" and replaced it with the proper error codes.