Add XRegExp from https://github.com/slevithan/xregexp/tree/d06eff50f87d81d2dd3afc1e854784c38b17bcc4/src
Load XRegExp into Zotero.XRegExp and Zotero.Utilities.XRegExp and make it accessible from translators.
Tweak recognizePDF to avoid false positives: only count lines with more than 3 words (since we drop first and last later) as cleaned lines, increase number of pages read and number of lines away from median length as good lines (due to more stringent selection criteria), do not attempt to query google with a short query if we run out of lines, try to pick lines for a query that are not next to each other (to avoid finding articles that quote the article we're looking for)
[recognizePDF] Restructure file
Merge pull request #217 from aurimasv/recognizePDF

Tweak recognizePDF to avoid false positives
Minor documentation update
Merge pull request #221 from aurimasv/misc

Misc changes
Accept two missing letters in object keys (but don't use them yet)

Also:

- 'T' doesn't come after 'X' (but does probably appear disproportionally
  in existing object keys)

This commit has been brought to you by the letters 'L' and 'Y'.
Add lowercase 'j' to randomString() (not used for keys)
Context-menu item delete from library root didn't show a prompt
Remove unnecessary character classes. Add some useful ones.
Make clear that save to server code is non-Firefox only
[Utilities] Deep copy `null` as `null`. Display object type in varDump
Merge pull request #222 from aurimasv/deepCopy

[Utilities] Deep copy `null` as `null`. Display object type in varDump
Strip control characters when inserting notes and displaying reports
Strip control characters when displaying child notes as well
Update version and maxVersion
Eliminate race condition during processDocuments call with multiple URLs
Fix III host code
Merge pull request #226 from aurimasv/processDocuments

Eliminate race condition during processDocuments call with multiple URLs