Fix duplicate requests to provider sites

When the user follows a link from a proxy-by-port EZProxy to another
proxy-by-port EZProxy, we make an additional request to the target site
with no cookies. This yields a redirect to the EZProxy login page. We
use the query parameters to determine the true domain of the site.

Previously, we allowed the redirect to continue, and used the same code we
use to detect EZProxy logins to map the proxied domain to the true domain.
This caused duplicate requests to providers and apparently infinite loops.

We now read the query parameter directly from the redirect to the EZProxy
login page and then cancel the request so that the redirect doesn't get
followed.

The changeset also improves logging of proxy-related information.

See https://forums.zotero.org/discussion/28505/ for further discussion.
ConcurrentCaller -- run a fixed number of concurrent async functions

If the functions return promises, the caller will wait until they're
fulfilled and slots open to start new functions.
Fix WebDAV file purging

Deleted files are purged at the end of every sync, without any delay.
(If there's a conflict, it will be resolved before the file is deleted.)

Orphaned files are deleted once every 10 days, since it's a potentially
expensive operation for the server.
Replace some uses of Q.allResolved() with Q.all() in storage sync
Fix WebDAV file sync conflict
Update locales from Transifex
Update translators and repotime
Update versions
Don't show nsIChannel passwords in debug output
Fix nsIRequest test for non-client environments
Version update
Clarify failed validation error message

See http://forums.zotero.org/discussion/28540?page=1#Item_4
Disable one window warning for annotations
Move "Automatically abbreviate journal titles" setting to document preferences

The setting is disabled by default for existing documents, but enabled by
default for new documents.
Use typographic quotes
Merge locales from Transifex
Update styles
Update citeproc-js to 1.0.442
Default on-demand download to off for now
Don't break when stringifying item fields. Broken by 2f8f18c9571010b5f9d9035f62b590e63ffc1e4f