Update GLib annotations to master

https://bugzilla.gnome.org/show_bug.cgi?id=688897
tests: add g-ir-doc-tool generated output to .gitignore

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: improve wording of inline documentation

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: use "if in [a, b]" instead of "if == a or if == b"

It simply looks better...

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: use dict.items()...

... in favor of "for key in dict: value=dict[key]"
and "dict.iteritems()". This makes it possible to
run the upcoming annotationparser.py tests with both
Python 2 and Python 3.

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: use dict.values() in favor of dict.itervalues()

This makes it possible to run the upcoming annotationparser.py
tests with both Python 2 and Python 3.

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: use collections.OrderedDict when available

Starting with Python 2.7 we can use the batteries included
collections.OrderedDict class. However, configure.ac claims
we still support Python 2.5 and 2.6, so don't remove our
custom odict implementation just yet...

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: remove duplicate "os" import...

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: remove unused variables

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: implement DocOption() in terms of odict instead of dict

The order of the "options" key/value pairs returned by
DocOption().all() should be identical to the order in
which they where stored. Hence replace the dict usage
with odict.

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: make it clear DocOptions() also has a position attribute

Lost a couple of hours hunting down a failed test case (from the
annotationparser work about to land) due to this not being clear...

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: drop dead code

DocOptions already has a position attribute, no need to overwrite it
when the position of DocBlock or DocTag is set, hence the
set_position methods are no longer needed.

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: use re.match() instead of re.search()

From Python's documentation:
Python offers two different primitive operations based on
regular expressions: match checks for a match only at the
beginning of the string, while search checks for a match
anywhere in the string (this is what Perl does by default).

The different behavior between match() and search() doesn't
matter in our case and conceptually we are checking if a
piece of text matches a certain pattern, so match() is a
better fit.

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: add AnnotationParser tests

The tests in giscanner/annotationpatters.py only test the regular
expression programs used when parsing GTK-Doc comment blocks but
do not test the structure of the resulting "parse tree".

This patch adds 193 GTK-Doc comment blocks and the expected
results AnnotationParser should return (with it's current level
of understanding of GTK-Doc comment block syntax). These are
compared by tests/scanner/annotationparser/test_parser.py which
complains with a diff on failure.

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: move unit tests from giscanner/annotationpatters.py...

... to tests/scanner/annotationparser/test_patterns.py because the
following patch will remove giscanner/annotationpatters.py

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: construct list of possible tag names for TAG_RE from _ALL_TAGS...

... instead of having a secondary hard-coded list. This results
in the removal of giscanner/annotationpatterns.py to prevent a
circular import.

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: treat the GTK-Doc Description: tag like any other tag

and add paragraph break tests.

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: Correctly detect invalid GTK-Doc comment block end markers

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: remove re.MULTILINE usage from annotationparser

These are remnants from the original prototype and are no
longer used.

https://bugzilla.gnome.org/show_bug.cgi?id=688897
giscanner: update annotationparser to most recent gtkdoc-mkdb bug fixes.

This patch adds a test for and implements a more generic solution to
GTK-Doc commit 47abcd53b8489ebceec9e394676512a181c1f1f6

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