gimarshallingtests: Add test for GValue pass-by-reference

https://bugzilla.gnome.org/show_bug.cgi?id=701058
Release 1.37.4
Update annotations from glib 2.37.4
Update annotations from glib git
Visual Studio builds: Update _giscanner Project

Add the "PC" folder in the Python installation root as one of the include
folders, as that is where pyconfig.h would reside (at least for the people
that compiled Python themselves from source using Visual Studio)
MSVC Builds: Fix "Installation" Process again

My previous commit on this (d2613dd9) didn't quite get it right then and
some items were missed from that commit.  Get that corrected, and ensure
also the scripts/templates in collections/ and doctemplates are "installed"
accordingly.
Update annotations from glib git
g-ir-compiler: remove references to --code, remove --no-init options

The "--code" option was removed years ago in ac81f3e8c5f1c380d16677232d67466e739da283
so remove references to it from README and g-ir-compiler(1)

Remove the "--no-init" option from g-ir-compiler and g-ir-compiler(1)
as it was documented to "can only be used if --code is also specified",
so no reason to keep it around.
build: actually require libffi >= 3.0.0

as documented in README...
README: fix the Tools section a bit
tests: Update misc/pep8.py to 1.4.6

Updated from:
https://raw.github.com/jcrocholl/pep8/1.4.6/pep8.py
tests: make parsed2tree() and expected2tree() methods of TestCommentBlock()
tests: put create_tests() below TestCommentBlock()

closer to __main__, where it's actually used...
tests: rename <commentblock> element to <input>

We'll start testing parser warning/error messages and
serialized output later on so this will make it easier to
see what's parser input and output...
tests: put <docblock> element inside a <parser> element

The <parser> element can then hold both the expected
<docblock> parse tree and the warning/error messages
emitted by the parser in a future <messages> child
element.
tests: validate GTK-Doc test files

This is more of a handy developer tool than something
that is always expected to be executed as part of the
test suite, so we don't add a hard dependency on xmllint.

https://bugzilla.gnome.org/show_bug.cgi?id=688897
tests: remove manual validation code

We're already validating input .xml files so no need
to duplicate this...
tests: compare matched groups when testing re's
tests: fix warning tests message sorting...

... by using the actual line numbers instead of sorting
the whole expected/emitted string. The latter is wrong as
for example tests/warn/annotationparser.h line 109
got sorted before line 120 which got sorted before
line 12.
tests: test emitted GTK-Doc parser warning messages