Add callback to importFromURL for drag-dropped PDFs instead of setTimeout
Return a Q promise from all async DB methods

With send() removed from Q, we can yield Q promises within
executeTransaction() instead of Mozilla promises.
Support nested async DB transactions
Better error messages for async DB
Add Zotero.File.getContentsFromURLAsync(url) for local text files
Use asynchronous DB and file access for schema checks/updates

This change should improve Firefox startup time. If the Zotero pane is
opened before Zotero has initialized, the pane will be blocked with a
progress bar until it's done. Standalone currently does the same, but it
should be changed to just delay opening the window if possible.

The upgrade wizard has been disabled for schema upgrades, in the hope
that upgrades can be done in a way that won't break compatibility with
earlier versions (or that can at least be done in a way such that we can
put out point releases of the last major version that provide
compatibility during beta/post-upgrade periods).

This patch likely breaks many things, and definitely breaks connector
mode.

This change also removes upgrade steps for databases from Zotero 2.1b2
and earlier. Users with such databases will need to upgrade via Zotero
4.0.x first or delete their data directories and start anew. This should
only affect users who haven't opened Zotero since Nov. 2010.
Tie bundled files update to initialization rather than timeout
Use promise to get addon version, and remove ZOTERO_CONFIG.VERSION

(This patch is small without whitespace changes.)
Tidy up some debug messages at startup
Move Zotero.Fulltext initialization
Remove ancient DB_REBUILD config option
Remove unnecessary import
Remove unnecessary catch()
Show bound parameters for async queries
Doesn't matter, but cast repo check timestamp to int
Return empty array instead of FALSE for async DB query methods

The exception is valueQueryAsync(), which continues to return FALSE if
there's no result.

Note that this is different from the synchronous query methods.
Use async DB query for collections-containing-an-item
Check the right version when checking for old database
Enable debug line for file sync
Create README.md