Massive refactor that fixes a bug where we dropped data in a rare case

When the phone was reporting it had a valid data connection, but
the connection would not actually send or receive data, we were dropping
events/people calls.
Don't try next url if the request was successful
Fix some logging
space
Assume a result of null is an unrecoverable failure, delete events
More refactoring -- we can always delete events if the post succeeds
Revamp tests. Make failure tests more specific.
Update README
Log message fix
No need to throws OutOfMemoryError
Don't permanently set this
Update VERSION