[droid] Ajax IOExceptions aren't properly passed around

When an `IOException` occurs (e.g. when a host is unreachable) a couple of undesirable things happen.

1. The exception is swallowed and only the status code and the literal string `"IOException"` is passed to the failure handler
2. The failure handler then discards the string entirely and only passes on the status code

The fix is simple:

 1. Instead of passing the string literal I pass `ex.toString()` which gives you the exception message (it doesn't include the backtrace, but I don't think that's too important here).
 2. Change the signature of the failure handlers so they pass both parameters around