de.po: update
Use appropriate (cheaper) conversion.
First version of trivstring class (bug #9336)

As discused on the list. This is not used yet, but it is intended to provide
thread-safe read-access without the need for synchronization if the used STL
implementation does not provide it for std::basic_string. This is the case for
all implementations using copy-on-write.
Make trivstring class ready for use

The interface is now 100% unit tested, and the typedefs depend on the new
STD_STRING_USES_COW configuration variable. The only missing bit is to detect
clang and disable STD_STRING_USES_COW for clang.
de.po: update
de.gmo
Whitespace
Make Language and Encoding threadsafe

Read-only access to these classes is now threadsafe, with one exception:
The encoding neds to be already initialized (i.e. init() must not be called).
This makes bug 9336 unreproducable on my machine, although it is not completely
fixed yet.
Encapsulate Converter class

Now members are not directly accessible anymore.
Fix compilation without trivstring
Try to fix compilation on cygwin
de.po: Correct translation
Add ObsoletedBy tag to InsetLayout

Fixes: #9000.
Use ObsoletedBy in fixme and todonotes modules.
Update layouts to current format
\\subfloat captions are moving arguments

Therefore insets should be protected in these captions.

Fixes bug: #9346.
Update the spec file template

Patch by user aluchko in #9349

Fixes: #9349
Cmake build: Detect clang and adapt definition of STD_STRING_USES_COW.
Fix invalid iterator access
Make Encoding class thread-safe

Now all const methods may be called without additional locking.
This is assumed by the threaded LaTeX export, which always useses a globally
unique instance for each encoding.