Changes from Baobab Development

There are a few new features and bug fixes in this branch, including:
- the Inbox App ID is exposed in addition to the BaseURL
- updated attachments logic: attachment JSON is now returned in the request for messages, so attachmentIDs -> attachmentData (similar to tagData on threads)
- tag interactions are now supported on threads
- you can fetch the drafts of a thread in addition of the messages of a thread
- preliminary support for downloading attachments (via https://github.com/eligrey/FileSaver.js/, not included)
It should look something like:

```js
return this.promise(function(resolve, reject) {
  apiRequestData(inbox, 'get', url, function(err, response) {
    if (err) reject(err);
    else {
      var blob = new Blob([response], {type: content_type});
      resolve({
        // Sadly, the File constructor isn't very useful yet --- but File is specifically designed to bundle this
        // metadata with a Blob. Hopefully in 2015 it would be suitable to update this API to just return a
        // new File instead.
        filename: filename,
        blob: blob
      });
    }
  });
});
```