giscanner: Make sure that the current path set from linemarks is also a real path

This fixes the case when the include path doesn't contain any symlink,
but the path built by the preprocessor does.

https://bugzilla.gnome.org/show_bug.cgi?id=712211
giscanner: Make sure we use real paths in more places

Ensure we are using the real path also for cflags comming from
pkg_config files and command line options. This fixes the generation of
the gir files when include paths contain symlinks.

https://bugzilla.gnome.org/show_bug.cgi?id=712211
giscanner: Handle the case when there's a space between -I cpp flag and the path

In this case we were considering -I and the path as two different
command line options. This was not a problem in the past (or for other
cpp flags) because they are passed directly to gcc that accepts it. Now
that we are ensuring that the include paths are always real paths, we
need to handle this case to identify include paths in the command line.

https://bugzilla.gnome.org/show_bug.cgi?id=712211
scanner: Use PATH_MAX, not hardcoded 1024 for realpath()

Otherwise we can overflow the stack on longer pathnames.

Tested-By: Mantas Mikulėnas <grawity@gmail.com>
Update glib annotations from git master