Store inter-group linked-item relations with target, not source, library

User may not have write access to source library
Don't try to index non-text files when importing from document

Also call the callback when importing PDFs from the document. I'm not
sure why this wasn't called before, but it seems like it should be.
Fix PDF tools prompt on pref window open if Search pane not yet loaded
Full-text content syncing

Full-text content is now synced to the server and other clients. Up to
~500K of content is transferred with each sync, so multiple syncs may be
necessary. Downloaded content is written to temporary files and
processed on idle (currently 5 seconds), so synced content may not be
immediately available.

Performance will improve with API syncing and async DB in 4.1.

This also includes some other full-text tweaks, such as storing
text converted from HTML in cache files, which may speed up phrase
searching.
Don't truncate HTML file content in full-text sync

Also write a cache file for HTML files at index time
Fix index rebuild
Better handling of maxLength and HTML

- Don't truncate before HTML conversion
- Correctly calculate indexed chars and total chars
- Move HTML conversion code into one function
Order by clientDateModified DESC when getting content to upload

This way content from newly added/modified items will get uploaded
before content from older items.
Fix colored tags in group libraries

Pressing the number keys was pulling in colored tags from "My Library".
Don't attempt to select items that are not in the item tree
Merge pull request #408 from aurimasv/dupFilter

Don't attempt to select items that are not in the item tree
Close transaction before updating progress indicator

Should fix #230
Remove Zotero.wait() from Zotero.Collection.addItems

Since this is inside a transaction, it could potentially cause more
state check errors
Don't delete collection on partial import
Add pref to disable full-text syncing, and prompt existing users on sync

FT sync is enabled by default for new users and configurable in the Sync
prefs.

Also disable downgrades once full-text sync is enabled, since otherwise
someone switching back and forth between old and new versions could miss
full-text content updates.
Blacklist some more messages from error reports
"other computers" => "other linked devices"
Cache Zotero.userID and Zotero.libraryID
Undo tree row spacing change in Fx25 on Windows
Back up database before disabling downgrade