PEP8 fixes in shlib.py

Conform shlibs.py to the PEP8 standard. New additions were causing make
check to fail:
 Fixed E211 whitespace before '('
 Fixed E501 line too long (104 > 99 characters)
scanner: Make sure .libs directory exists

https://bugzilla.gnome.org/show_bug.cgi?id=724882
scanner: Ignore C11 _Noreturn keyword

This shows up in the headers in FreeBSD's stdlib.  Now I didn't add
anything to regress.h because I think that'd introduce an effective
hard dependency on a C11-capable compiler, unless we used #ifdef
trickery.  But the problem with #ifdef is that the -expected.gir isn't
conditional.

https://bugzilla.gnome.org/show_bug.cgi?id=724851
Update glib annotations from git master
g-ir-compiler: Add support for callback fields on GObjects

Use ParseState enum instead of a boolean for the ParseContexts embedded_type
flag. This allows specific tracking of the embedded type currently being
parsed which can now either be STATE_STRUCT_FIELD or STATE_CLASS_FIELD (or
allow for future expansion). Add ParseState::STATE_NONE as the default for
this field.

Fix GObject FieldBlob validation to take into account the sizeof
CallbackBlobs (copied from the struct validator).

Add static g_object_info_get_field_offset which parallels
g_struct_info_get_field_offset which is needed since callback fields may
vary in size.

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