Increment attempts of all events prior to POSTing.

Previously, incrementing attempts was performed by looking up event IDs based on
matching indicies in the server response. This could fail if the server returned
a malformed response, or if the client POSTed an event with invalid JSON.
Additionally, if the app was killed during the POSTing process, it would not
count as a failure.

This changes the logic to increment the attempt count immediately prior to
POSTing the event. This should reduce the likelyhood of "poison pill" events
causing infinite loops.