Checkpoint PR for proposal to use SQLite for event storage.

Problem: We suggest people set their apps to upload events when their app is backgrounded. The background task is temporally limited by iOS to some amount of time. It's possible (due to network issues or whatever) that our collect-and-upload functionality will fail. This leaves stale event files on disk that _might_ have been uploaded. Therefore we need to make them stateful.

Solution: Use SQLite to store event data and add a state flag (pending).

The idea here is as follows:
* Upon init we create an SQLite db and table for events. Columns are id (autoinc integer, eventData BLOB, pending INT)
* Adding an event will insert an event into the events table with pending=0
* When time to upload events we select the list of events, set their pending flag to 1 and upload.
* Upon completion of upload we delete all events where pending=0

Optionally we'll add a flag to decide what to do with events that are already marked pending. We can either ignore them (delete them with a log message) or resend them (reset them to pending=0).

This adds a libsql3.dylib to our library as a linked library. This is included in iOS since something like iOS 2 and is the underpinning of CoreData. This will also eliminate a lot of code from the library that manages the files. We'll have to discuss how to upgrade existing clients. Likely slurping up the files and inserting them into the SQLite table at init or something.

I'm new to Obj-C and if I've ever written any SQLite in C then I don't remember it. Help welcome!