Update Bluebird to 2.3.5

Our modifications no longer include a custom yield handler to
automatically call all() on yielded arrays (which maintained Bluebird
1.x behavior). It's now necessary to call all() or similar explicitly.

Also fixed a few incorrect yields hidden by that behavior.
Use DB libraryID for check in Zotero.Libraries.getType()

Before, 'user' wouldn't be returned if the real libraryID was given for
the personal library.
Rename Zotero.Item.prototype.getCreatorsAPIData() to getCreatorsJSON

And add Zotero.Item.prototype.setCreators()
Fix creator type assignment in item box
Fixes duplicates view for async DB

It's way too slow, though, since the whole list is regenerated after
merging.

Fixes #519

Also:

- The arguments to Zotero.Item.prototype.clone() have changed, and it no
  longer takes an existing item or copies primary data. To create an
  in-memory copy of an item, use the new Zotero.Item.prototype.copy().

- Zotero.Item.prototype.getUsedFields() now gets in-memory fields rather
  than the fields in the database