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)