typo
Make encoding conversions thread safe

This is the result of the discussion on the list "2.1.0 Blocker". Thanks to
all contributors!
The main idea is to use thread-local storage for all static variables.
This solution does not need any mutex. For more details, see the comment in
unicode.h.
Fix unbalanced bracket problem with CJK

The bug was introduced with commit [47f7d447/lyxgit], where the unnecessary trailing bracket in CJK environments was suppresed, but not the preceding bracket (which is only output if CJK is a secondary language).
Implement reading of mo files with bad byte endianness
Fix missing updates for lazy MacroData

Not all accessors did update the data previously. Therefore it could happen
that document export from the command line would output \newcommand, and from
GUI it would output \renewcommand for the same macro, simply because in the
GUI case the data was updated as a side effect of the GUI thread reading some
other member.
I also removed the mutable flag for requires_, since this member is always
set on construction and does not need any lazy update.
Added restrict-search-to-maths-only checkbox to advanced pane of Advanced F&R.
fix macro order for newsubfloat
Added tooltip to new math-only checkbox in advanced options of advanced find & replace.