Better implementation of NSURLConnection and error reporting

The NSURLConnection will not call etaRequestSucceededAndReturnedDictionary several times after this update.

And errors will be sent as NSError if the connection times out or the dictionary cannot created from the json.