xliff2po: Add support to convert XLIFF files with .xliff extension

Fixes #3202.
placeables: Correctly insert at an existing parent if appropriate

At the end of a string (Case 2) the undo of a deletion of a placeable
(e.g. an XML tag) would be restored as plain text instead of part of
the existing tag. This is a reintroduction of bb04ce073 with updated
tests and error checking.
Simplify file discovery

This avoids a lot of unnecessary paths, while still allowing all ways
we expect it to work. This should help somewhat with startup performance
on both Linux and Windows.
Output xml declaration for Qt Linguist files (fixes #3198).

I tested multiple versions of lupdate with the following source file
(main.cpp):
  #include <QDebug>
  #include <QCoreApplication>

  int main(int argc, char *argv[])
  {
    QCoreApplication app(argc, argv);
    qDebug() << QString(QObject::tr("A String"));

    return app.exec();
  }

Invocation of lupdate:
$ lupdate main.cpp -ts de.ts

lupdate (5.3.1):
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<context>
    <name>QObject</name>
    <message>
        <location filename="main.cpp" line="7"/>
        <source>A String</source>
        <translation type="unfinished"></translation>
    </message>
</context>
</TS>

lupdate (4.8.6):
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0">
<context>
    <name>QObject</name>
    <message>
        <location filename="main.cpp" line="7"/>
        <source>A String</source>
        <translation type="unfinished"></translation>
    </message>
</context>
</TS>

lupdate (4.8.1):
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0">
<context>
    <name>QObject</name>
    <message>
        <location filename="main.cpp" line="7"/>
        <source>A String</source>
        <translation type="unfinished"></translation>
    </message>
</context>
</TS>

lupdate (4.6.2):
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0">
<context>
    <name>QObject</name>
    <message>
        <location filename="main.cpp" line="7"/>
        <source>A String</source>
        <translation type="unfinished"></translation>
    </message>
</context>
</TS>
Remove workaround for lxml < 2.2.0 and update README.
README: Remove reference to old lxml versions
Bugfix: Properly check for language in RC files

Update the check for language in RC files to be ok if is globally set and
the actual block doesn't have one or is set locally with the correct one.
Bugfix: Properly append comments

Comments were not appended because of wrong variable name.
Cleanup: Use pass instead of continue

If we get here we already know that is a block that must be ignored,
so there is no need to check for other types.
Ignore one line comments ("//")
Ignore TEXTINCLUDE sections of Visual Studio Editor
Cleanup: Remove unnecessary commented code
Tests: Added several tests for RC format
Added a test for rc2po converter.
Tests: Several cleanups in RC tests

* Move tests to a class,
* Use helper method to avoid rewriting the code to write and parse a
  dummy file,
* Rewrote code to use explicit assertions instead of iterating in a loop.
Tests: Add method to check RC roundtrip conversion

Still not used, but already available for future use. This method is
now format agnostic, so moving it to a superclass in order to reuse
it in other test classes is advisable.
Releasing docs: Use separate virtualenvs for building and testing
Release notes: Release 1.12.0
Release notes: Add model for next release
Bump up version for 1.12.0 final release