refactor(*): model API design after inbox-ios

List of changes:

  - Add support for uploading files
  - Add INThread#messages() helper
  - Update example applications to new API
  - list-threads example now fetches threads within a 2 week threshold, rather than all threads
  - New example application for sending messages
  - Support a persistence layer, including an IndexedDB implementation. The persistence layer is very
    simple, and not as powerful as the one used in inbox-ios, but this can be improved later.

This is a huge refactoring, and should really have been broken apart into at least 50 commits, but
that would take effort, and I don't really know how to use git add -p yet, so instead the diff is
just going to be one big fat thing.

There is still more work to do to make this behave similar to inbox-ios, but this is a big start.

Closes #3
Closes #22 (caching strategy is implemented here)