Cache offline/failed requests

Fixes #7

@stoodder @Gregadeaux I got both of you on this repo :) Do you mind reviewing this when you get a chance?

**BEFORE:** I had a file that stored a stacktrace that needed to get posted up when the app next opened. This file got deleted right away so if there was no internet connect that stacktract was lost.

**NOW:** There is an `InternalStorage` class that holds on to a list of `SentryEventRequest` objects. This object gets created in one of two places. 1) An uncaught exception 2) When a request fails (could be Sentry error or no internet connection)
Yeaaahhhh, I felt weird about this too... maybe I should rename it to something like "shouldAttemptPost" or something like that? If I have permission to check the network state and that network state is not connect, I do not want to attempt the post. That is what I'm going for :)