giscanner: fix multiline parameter descriptions

...when those parameters start after the comment block
description part (ie an empty line between the identifier
and the first parameter)
giscanner: less strict GTK-Doc comment block parsing

These will make the GTK-Doc rewriting tool a bit more useful:

- continue searching for the identifier when it is not found on
  the first line, like gtkdoc-mkdb does.
- recognise malformed identifiers ending with a delimiter (:)

As a downside we loose repeated "parameter unexpected at this location"
warnings (see tests/scanner/annotationparser/gi/identifier_section.xml)
but still have the first warning, so it's not that bad.
TODO: emit 'incorrect number of parameters in comment block' warning
giscanner: slighlty more efficient identifier parsing
giscanner: make DocOptions an odict subclass
giscanner: use SqlAlchemy's OrderedDict implementation

g-ir-scanner can be a bit on the slow side. While true we
now do a bit more work parsing GTK-Doc comment blocks, one
of the biggest slow-downs comes from the OrderedDict
implementations we have been using.

Time needed to build Gtk-3.0.gir [1]:

1) The original DictMixin sublass:
     92,79867 seconds
2) Python's collections.OrderedDict class:
     88,65786 seconds
3) Larosa/Foord implementations from http://www.voidspace.org.uk/python/odict.html :
     71,64323 seconds
4) SqlAlchemy's implementation:
     66,12449 seconds

Looks like we have a clear winner with the SqlAclchemy
implementation. Additionally there is less complexity
pollution in the profiles (I recommend looking at
them with http://pypi.python.org/pypi/RunSnakeRun).

[1] Command used at the time of this writing, consult your
GTK+ build log for the up-to-date incatation on your system.

$ python2 -m cProfile -o /home/dieterv/Gtk-3.0.gir.profile /home/dieterv/gnome.org/prefix/bin/g-ir-scanner  --add-include-path=../gdk --warn-all --namespace=Gtk --nsversion=3.0 --libtool="/bin/sh ../libtool"  --include=Atk-1.0 --include=xlib-2.0 --pkg-export=gtk+-3.0  --library=libgtk-3.la --library=../gdk/libgdk-3.la --add-include-path=../gdk --include-uninstalled=../gdk/Gdk-3.0.gir --add-include-path=../gdk/x11 --c-include="gtk/gtkx.h" -DG_LOG_DOMAIN=\"Gtk\" -DGTK_LIBDIR=\"/home/dieterv/gnome.org/prefix/lib\" -DGTK_DATADIR=\"/home/dieterv/gnome.org/prefix/share\" -DGTK_DATA_PREFIX=\"/home/dieterv/gnome.org/prefix\" -DGTK_SYSCONFDIR=\"/home/dieterv/gnome.org/prefix/etc\" -DGTK_VERSION=\"3.7.3\" -DGTK_BINARY_VERSION=\"3.0.0\" -DGTK_HOST=\"i686-pc-linux-gnu\" -DGTK_COMPILATION -DGTK_PRINT_BACKENDS=\"file,cups\" -DGTK_PRINT_PREVIEW_COMMAND=\""evince --unlink-tempfile --preview --print-settings %s %f"\" -I.. -I../gtk -I.. -I../gdk -I../gdk -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED -pthread -I/home/dieterv/gnome.org/prefix/include/glib-2.0 -I/home/dieterv/gnome.org/prefix/lib/glib-2.0/include   -DG_ENABLE_DEBUG -pthread -I/home/dieterv/gnome.org/prefix/include/pango-1.0 -I/home/dieterv/gnome.org/prefix/include/glib-2.0 -I/home/dieterv/gnome.org/prefix/lib/glib-2.0/include -I/home/dieterv/gnome.org/prefix/include/atk-1.0 -I/home/dieterv/gnome.org/prefix/include/gdk-pixbuf-2.0 -I/home/dieterv/gnome.org/prefix/include/at-spi2-atk/2.0 -I/home/dieterv/gnome.org/prefix/include/harfbuzz -I/home/dieterv/gnome.org/prefix/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng15 -I/usr/include/libdrm      -DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API  gtk.h gtkx.h gtkaboutdialog.h gtkaccelgroup.h gtkaccellabel.h gtkaccelmap.h gtkaccessible.h gtkactionable.h gtkaction.h gtkactiongroup.h gtkactivatable.h gtkadjustment.h gtkalignment.h gtkappchooser.h gtkappchooserbutton.h gtkappchooserdialog.h gtkappchooserwidget.h gtkapplication.h gtkapplicationwindow.h gtkarrow.h gtkaspectframe.h gtkassistant.h gtkbbox.h gtkbin.h gtkbindings.h gtkborder.h gtkbox.h gtkbuilder.h gtkbuildable.h gtkbutton.h gtkcalendar.h gtkcellarea.h gtkcellareacontext.h gtkcellareabox.h gtkcelleditable.h gtkcelllayout.h gtkcellrenderer.h gtkcellrendereraccel.h gtkcellrenderercombo.h gtkcellrendererpixbuf.h gtkcellrendererprogress.h gtkcellrendererspin.h gtkcellrendererspinner.h gtkcellrenderertext.h gtkcellrenderertoggle.h gtkcellview.h gtkcheckbutton.h gtkcheckmenuitem.h gtkclipboard.h gtkcolorbutton.h gtkcolorchooser.h gtkcolorchooserwidget.h gtkcolorchooserdialog.h gtkcolorutils.h gtkcombobox.h gtkcomboboxtext.h gtkcontainer.h gtkcssprovider.h gtkcsssection.h gtkdebug.h gtkdialog.h gtkdnd.h gtkdrawingarea.h gtkeditable.h gtkentry.h gtkentrybuffer.h gtkentrycompletion.h gtkenums.h gtkeventbox.h gtkexpander.h gtkfilechooser.h gtkfilechooserbutton.h gtkfilechooserdialog.h gtkfilechooserwidget.h gtkfilefilter.h gtkfixed.h gtkfontbutton.h gtkfontchooser.h gtkfontchooserdialog.h gtkfontchooserwidget.h gtkframe.h gtkgrid.h gtkiconfactory.h gtkicontheme.h gtkiconview.h gtkimage.h gtkimagemenuitem.h gtkimcontext.h gtkimcontextinfo.h gtkimcontextsimple.h gtkimmodule.h gtkimmulticontext.h gtkinfobar.h gtkinvisible.h gtklabel.h gtklayout.h gtklevelbar.h gtklinkbutton.h gtkliststore.h gtklockbutton.h gtkmain.h gtkmenu.h gtkmenubar.h gtkmenubutton.h gtkmenuitem.h gtkmenushell.h gtkmenutoolbutton.h gtkmessagedialog.h gtkmisc.h gtkmodules.h gtkmountoperation.h gtknotebook.h gtknumerableicon.h gtkoffscreenwindow.h gtkorientable.h gtkoverlay.h gtkpagesetup.h gtkpaned.h gtkpapersize.h gtkplug.h gtkprintcontext.h gtkprintoperation.h gtkprintoperationpreview.h gtkprintsettings.h gtkprogressbar.h gtkradioaction.h gtkradiobutton.h gtkradiomenuitem.h gtkradiotoolbutton.h gtkrange.h gtkrecentaction.h gtkrecentchooser.h gtkrecentchooserdialog.h gtkrecentchoosermenu.h gtkrecentchooserwidget.h gtkrecentfilter.h gtkrecentmanager.h gtkscale.h gtkscalebutton.h gtkscrollable.h gtkscrollbar.h gtkscrolledwindow.h gtksearchentry.h gtkselection.h gtkseparator.h gtkseparatormenuitem.h gtkseparatortoolitem.h gtksettings.h gtkshow.h gtksizegroup.h gtksizerequest.h gtksocket.h gtkspinbutton.h gtkspinner.h gtkstatusbar.h gtkstatusicon.h gtkstock.h gtkstylecontext.h gtkstyleproperties.h gtkstyleprovider.h gtkswitch.h gtktestutils.h gtktextattributes.h gtktextbuffer.h gtktextbufferrichtext.h gtktextchild.h gtktextiter.h gtktextmark.h gtktexttag.h gtktexttagtable.h gtktextview.h gtkthemingengine.h gtktoggleaction.h gtktogglebutton.h gtktoggletoolbutton.h gtktoolbar.h gtktoolbutton.h gtktoolitem.h gtktoolitemgroup.h gtktoolpalette.h gtktoolshell.h gtktooltip.h gtktreednd.h gtktreemodel.h gtktreemodelfilter.h gtktreemodelsort.h gtktreeselection.h gtktreesortable.h gtktreestore.h gtktreeview.h gtktreeviewcolumn.h gtktypes.h gtkuimanager.h gtkviewport.h gtkvolumebutton.h gtkwidget.h gtkwidgetpath.h gtkwindow.h gtktypebuiltins.h gtkversion.h deprecated/gtkcolorsel.h deprecated/gtkcolorseldialog.h deprecated/gtkfontsel.h deprecated/gtkgradient.h deprecated/gtkhandlebox.h deprecated/gtkhbbox.h deprecated/gtkhbox.h deprecated/gtkhpaned.h deprecated/gtkhscale.h deprecated/gtkhscrollbar.h deprecated/gtkhseparator.h deprecated/gtkhsv.h deprecated/gtkrc.h deprecated/gtkstyle.h deprecated/gtksymboliccolor.h deprecated/gtktable.h deprecated/gtktearoffmenuitem.h deprecated/gtkvbbox.h deprecated/gtkvbox.h deprecated/gtkvscale.h deprecated/gtkvscrollbar.h deprecated/gtkvseparator.h deprecated/gtkvpaned.h deprecated/gtkcolorsel.c deprecated/gtkcolorseldialog.c deprecated/gtkfontsel.c deprecated/gtkgradient.c deprecated/gtkhandlebox.c deprecated/gtkhbbox.c deprecated/gtkhbox.c deprecated/gtkhpaned.c deprecated/gtkhscale.c deprecated/gtkhscrollbar.c deprecated/gtkhseparator.c deprecated/gtkhsv.c deprecated/gtkrc.c deprecated/gtkstyle.c deprecated/gtksymboliccolor.c deprecated/gtktable.c deprecated/gtktearoffmenuitem.c deprecated/gtkvbbox.c deprecated/gtkvbox.c deprecated/gtkvscale.c deprecated/gtkvscrollbar.c deprecated/gtkvseparator.c deprecated/gtkvpaned.c gactionmuxer.c gactionobserver.c gactionobservable.c gtkactionable.c gtkquery.c gtksearchentry.c gtksearchengine.c gtksearchenginesimple.c fnmatch.c gtkaboutdialog.c gtkaccelgroup.c gtkaccellabel.c gtkaccelmap.c gtkaccessible.c gtkaction.c gtkactionhelper.c gtkactiongroup.c gtkactivatable.c gtkadjustment.c gtkalignment.c gtkallocatedbitmask.c gtkappchooser.c gtkappchooserwidget.c gtkappchooserbutton.c gtkappchooserdialog.c gtkappchoosermodule.c gtkappchooseronline.c gtkapplication.c gtkapplicationwindow.c gtkarrow.c gtkaspectframe.c gtkassistant.c gtkbbox.c gtkbin.c gtkbindings.c gtkborder.c gtkborderimage.c gtkbox.c gtkbuildable.c gtkbuilder.c gtkbuilderparser.c gtkbuilder-menus.c gtkbutton.c gtkcairoblur.c gtkcalendar.c gtkcellarea.c gtkcellareabox.c gtkcellareaboxcontext.c gtkcellareacontext.c gtkcelleditable.c gtkcelllayout.c gtkcellrenderer.c gtkcellrendereraccel.c gtkcellrenderercombo.c gtkcellrendererpixbuf.c gtkcellrendererprogress.c gtkcellrendererspin.c gtkcellrendererspinner.c gtkcellrenderertext.c gtkcellrenderertoggle.c gtkcellview.c gtkcheckbutton.c gtkcheckmenuitem.c gtkcolorbutton.c gtkcolorchooser.c gtkcolorchooserwidget.c gtkcolorchooserdialog.c gtkcoloreditor.c gtkcolorplane.c gtkcolorscale.c gtkcolorswatch.c gtkcolorutils.c gtkcombobox.c gtkcomboboxtext.c gtkcontainer.c gtkcssanimation.c gtkcssarrayvalue.c gtkcssbgsizevalue.c gtkcssbordervalue.c gtkcsscolorvalue.c gtkcsscomputedvalues.c gtkcsscornervalue.c gtkcsscustomproperty.c gtkcsseasevalue.c gtkcssenumvalue.c gtkcssenginevalue.c gtkcssimage.c gtkcssimagecrossfade.c gtkcssimagegradient.c gtkcssimagelinear.c gtkcssimageurl.c gtkcssimagevalue.c gtkcssimagewin32.c gtkcssinheritvalue.c gtkcssinitialvalue.c gtkcsskeyframes.c gtkcsslookup.c gtkcssmatcher.c gtkcssnumbervalue.c gtkcssparser.c gtkcsspositionvalue.c gtkcssprovider.c gtkcssrepeatvalue.c gtkcssrgbavalue.c gtkcsssection.c gtkcssselector.c gtkcssstringvalue.c gtkcssshadowsvalue.c gtkcssshadowvalue.c gtkcssshorthandproperty.c gtkcssshorthandpropertyimpl.c gtkcssstylefuncs.c gtkcssstyleproperty.c gtkcssstylepropertyimpl.c gtkcsstransition.c gtkcsstypedvalue.c gtkcssvalue.c gtkcsstypes.c gtkdialog.c gtkdrawingarea.c gtkeditable.c gtkentry.c gtkentrybuffer.c gtkentrycompletion.c gtkeventbox.c gtkexpander.c gtkfilechooser.c gtkfilechooserbutton.c gtkfilechooserdefault.c gtkfilechooserdialog.c gtkfilechooserembed.c gtkfilechooserentry.c gtkfilechooserutils.c gtkfilechooserwidget.c gtkfilefilter.c gtkfilesystem.c gtkfilesystemmodel.c gtkfixed.c gtkfontbutton.c gtkfontchooser.c gtkfontchooserdialog.c gtkfontchooserutils.c gtkfontchooserwidget.c gtkframe.c gtkgrid.c gtkhsla.c gtkiconcache.c gtkiconcachevalidator.c gtkiconfactory.c gtkiconhelper.c gtkicontheme.c gtkiconview.c gtkimage.c gtkimagemenuitem.c gtkimcontext.c gtkimcontextsimple.c gtkimmodule.c gtkimmulticontext.c gtkinfobar.c gtkinvisible.c gtkkeyhash.c gtklabel.c gtklayout.c gtklevelbar.c gtklinkbutton.c gtkliststore.c gtklockbutton.c gtkmain.c gtkmarshalers.c gtkmenu.c gtkmenubar.c gtkmenubutton.c gtkmenuitem.c gtkmenushell.c gtkmenutoolbutton.c gtkmessagedialog.c gtkmisc.c gtkmnemonichash.c gtkmodelmenu.c gtkmodelmenuitem.c gtkmodifierstyle.c gtkmodules.c gtkmountoperation.c gtknotebook.c gtknumerableicon.c gtkoffscreenwindow.c gtkorientable.c gtkoverlay.c gtkpagesetup.c gtkpaned.c gtkpango.c gtkpapersize.c gtkpathbar.c gtkpressandhold.c gtkprintcontext.c gtkprintoperation.c gtkprintoperationpreview.c gtkprintsettings.c gtkprintutils.c gtkprivate.c gtkprivatetypebuiltins.c gtkprogressbar.c gtkradioaction.c gtkradiobutton.c gtkradiomenuitem.c gtkradiotoolbutton.c gtkrange.c gtkrbtree.c gtkrecentaction.c gtkrecentchooserdefault.c gtkrecentchooserdialog.c gtkrecentchoosermenu.c gtkrecentchooserwidget.c gtkrecentchooserutils.c gtkrecentchooser.c gtkrecentfilter.c gtkrecentmanager.c gtkresources.c gtkroundedbox.c gtkscale.c gtkscalebutton.c gtkscrollable.c gtkscrollbar.c gtkscrolledwindow.c gtkselection.c gtkseparator.c gtkseparatormenuitem.c gtkseparatortoolitem.c gtksettings.c gtksizegroup.c gtksizerequest.c gtksizerequestcache.c gtkshow.c gtkspinbutton.c gtkspinner.c gtkstatusbar.c gtkstatusicon.c gtkstock.c gtkstyleanimation.c gtkstylecascade.c gtkstylecontext.c gtkstyleproperties.c gtkstyleproperty.c gtkstyleprovider.c gtkstyleproviderprivate.c gtkswitch.c gtktestutils.c gtktextattributes.c gtktextbtree.c gtktextbuffer.c gtktextbufferrichtext.c gtktextbufferserialize.c gtktextchild.c gtktextdisplay.c gtktexthandle.c gtktextiter.c gtktextlayout.c gtktextmark.c gtktextsegment.c gtktexttag.c gtktexttagtable.c gtktexttypes.c gtktextutil.c gtktextview.c gtkthemingbackground.c gtkthemingengine.c gtktoggleaction.c gtktogglebutton.c gtktoggletoolbutton.c gtktoolbar.c gtktoolbutton.c gtktoolitem.c gtktoolitemgroup.c gtktoolpalette.c gtktoolshell.c gtktooltip.c gtktreedatalist.c gtktreednd.c gtktreemenu.c gtktreemodel.c gtktreemodelfilter.c gtktreemodelsort.c gtktreeselection.c gtktreesortable.c gtktreestore.c gtktreeview.c gtktreeviewcolumn.c gtktypebuiltins.c gtkuimanager.c gtkvolumebutton.c gtkviewport.c gtkwidget.c gtkwidgetpath.c gtkwindow.c gtkwin32theme.c gtkclipboard.c gtkdnd.c gtkappchooseronlinepk.c gtkprintoperation-unix.c gtksocket.c gtkplug.c /home/dieterv/gnome.org/prefix/bin/g-ir-scanner libgtk-3.la ../gdk/Gdk-3.0.gir Makefile --output Gtk-3.0.gir