Merge locales from Transifex
Retry failed ZFS uploads and downloads automatically

S3 upload timeouts were retried already with an exponential backoff, but
this adds retrying for other kinds of upload failures as well as failed
downloads.  If 5 consecutive failures occur a file sync error is
thrown.

Failed file sync requests to the Zotero API are not currently retried,
but S3 accounts for the majority.

The download portion of this still needs further testing.
Fix download retrying

Follow-up from 238a972a
Use Q instead of Task.spawn to run processUpdatedXML()

With Task.spawn, regular expressions in Zotero.DB were causing "too much
recursion" errors on Windows with JIT enabled.

This requires a change to Q to allow async() to take a generator instead
of a generator-maker (which is the reason it was using Task.spawn to
begin with).
Update submodules and repotime
Merge locales from Transifex
Update submodules
Remove old isFxN constants
Fix #496, Remove uses of nsICharsetConverterManager

We should confirm that the manually added charsets still work on
Firefox 32 once we #502
Fixes #503, Notes broken on Firefox 32

Unwrap the editor object if it's wrapped
Fix event handling (e.g., Undo) in notes in Fx32

Addresses #503
Fix tab mode in Aurora

Ref https://forums.zotero.org/discussion/37608/
Remove more uses of charsetDTD
Attempt to fix #502, translation broken on Firefox 32
Remove debug line
Fix search translation bug from 7950d3a7e217ce8bceb80dcf7c4e5fac28cd2695
Bump maxVersion
Revert "Use Q instead of Task.spawn to run processUpdatedXML()"

Fixes "Q.async(...)(...) is undefined" sync error

This reverts commit ad8b81f4c7a076b07038990e766ca74482b4609e (which
tried to fix Fx32+ compatibility).
Revert "Revert "Use Q instead of Task.spawn to run processUpdatedXML()""

This reverts commit 433426086567f9c79e86d8b857b4ef444e2e1081.
Fixes (cosmetic) "Q.async(...)(...) is undefined" sync error

Yield immediately so that a generator is always passed to Q.async()