Fix scanning libraries with no GObjects and linker using --as-needed

https://bugzilla.gnome.org/show_bug.cgi?id=699442
giscanner: Fix for PEP-8 style check
Add printf attribute

This fixes a compiler warning when using -Wmissing-format-attribute.

https://bugzilla.gnome.org/show_bug.cgi?id=698521
Add generated Visual Studio project files to .gitignore

https://bugzilla.gnome.org/show_bug.cgi?id=699531
Add generated tarballs to .gitignore

https://bugzilla.gnome.org/show_bug.cgi?id=699531
build: make it clear generated documentation goes in $(builddir)

https://bugzilla.gnome.org/show_bug.cgi?id=699532
build: silence "make[5]: unlink: Regress-1.0-Python: Is a directory"

https://bugzilla.gnome.org/show_bug.cgi?id=699532
build: use diff -r when testing generated docs

https://bugzilla.gnome.org/show_bug.cgi?id=699532
scanner: Parse __int128 and friends as "int"

This is a hack, but all we really want to do is ignore them for
now.

See https://mail.gnome.org/archives/gtk-devel-list/2013-May/msg00013.html

https://bugzilla.gnome.org/show_bug.cgi?id=699722
Add expected doc files for previous commit
Update glib annotations
giscanner: make _pass_read_annotations2() more readable

_apply_annotations2_function() is only ever called by
_pass_read_annotations2() so there's no need to go and
hide what's being done behind an extra method call.

Also change the 'if not something; return' into a more
readable 'if something: do something'...

https://bugzilla.gnome.org/show_bug.cgi?id=697622
giscanner: Define source and header filename extensions only once

Enables us to to use a more effecient list membership test
instead of testing the end of some string multiple times.

https://bugzilla.gnome.org/show_bug.cgi?id=699533
giscanner: small cpp_args cleanup

No need for two variables...

https://bugzilla.gnome.org/show_bug.cgi?id=699533
giscanner: simplify the MainTransformer().transform() method

The ast.Namespace.names instance attribute is an OrderedDict
which itself is a specialised dict() subclass. There are any
number of ways to test if a dict() is empty or not. Creating
a copy of it's keys by iterating over them just to count the
number of items in the copy is not the most elegant way though.

https://bugzilla.gnome.org/show_bug.cgi?id=699533
giscanner: remove unneeded encode('utf-8').decode('utf-8') roundtrip

line is a unicode() instance, xml.sax.saxutils.escape() does
nothing more than call a couple of replace() methods on said
unicode() instance so it makes little sense to encode line
into a str() and decode the escaped result back into a unicode().

https://bugzilla.gnome.org/show_bug.cgi?id=699533
giscanner: move odict.OrderedDict into a collections package

because we'll add more related code to collections later on

https://bugzilla.gnome.org/show_bug.cgi?id=699536
Revert addition of __int128 tests

It's not available on 32 bit architectures, which is
a pain for our testing because we can't easily make
Regress architecture independent.

This reverts commit ca93f8474c9f6ca184d0b5806a4e459ad3dcd132.
annotationparser: Remove get_tag/get_param

They're useless if we can just access the dict directly.

https://bugzilla.gnome.org/show_bug.cgi?id=688897
transformer: Remove annotations

The transformer doesn't need the annotations, so why are
we giving it to it?

https://bugzilla.gnome.org/show_bug.cgi?id=699854