Fix compilation on Android with the bionic C library

https://bugzilla.gnome.org/show_bug.cgi?id=689223
check-abis.sh: allow _ftext as that's leaked on mips

https://bugzilla.gnome.org/show_bug.cgi?id=697942
GVariant: fix transfer annotation

g_variant_new_from_bytes() returns a floating reference, so it
must be annotated (transfer none)

https://bugzilla.gnome.org/show_bug.cgi?id=697887
utils: avoid redundant set/endpwent around getpwuid

set/endpwent are only required for iterating through passwd entries
using getpwent(). Since we are explicitly requesting a passwd entry
for a uid then the set/endpwent calls are redundant.

Removing these redundant calls is required for building on Android
since their C library doesn't implement these.

https://bugzilla.gnome.org/show_bug.cgi?id=645881
GVariant parser: turn two asserts into soft errors

Parsing wrongly-typed GVariant text format data is a well-defined
operation and it ought to result in a GError.  We do that for most
cases, but 'v' and 'ay' were being treated differently.  Fix those as
well.
GVariant parser: tweak lexer for format strings

Tweak the lexer so that '[%s]' gets parsed as three separate tokens,
instead of the closing bracket getting sucked into the format string.
GMenu: add g_menu_remove_all() API

Removes all of the items from a GMenu.  The keyboard indicator wants to
do this as part of refreshing the layout list, as an example.

https://bugzilla.gnome.org/show_bug.cgi?id=697601
GFile: fix the *_async_thread()

In the *_async_thread() functions, call the corresponding synchronous
function instead of calling the interface vfunc, which can be NULL.

In some cases the check for the vfunc == NULL was done, but to be
consistent it is better to always call the synchronous version (and the
code is simpler).

https://bugzilla.gnome.org/show_bug.cgi?id=548353
Add async version of g_file_make_directory()

https://bugzilla.gnome.org/show_bug.cgi?id=548353
GVariant: add new g_variant_new_take_string() API

Lots of people have variously asked for APIs like
g_variant_new_string_printf() in order to avoid having to use
g_strdup_printf(), create a GVariant using g_variant_new_string(), then
free the temporary string.

Instead of supporting that, plus a million other potential cases,
introduce g_variant_new_take_string() as a compromise.

It's not possible to write:

 v = g_variant_new_take_string (g_strdup_printf (....));

to get the desired result and avoid the extra copies.  In addition, it
works with many other functions.

https://bugzilla.gnome.org/show_bug.cgi?id=698455
g_variant_get_data_as_bytes: return a sub-bytes if necessary

https://bugzilla.gnome.org/show_bug.cgi?id=698457
gactionmap: don't require GActionGroup

https://bugzilla.gnome.org/show_bug.cgi?id=698478
gdesktopappinfo: Allow getting the desktop ID from the filename
GIcon: pure re-factor of _from_string()

Split out the 'simple string format' cases of URIs, file paths and
themed icons to a separate function.

This function will be shared by g_icon_deserialize().

https://bugzilla.gnome.org/show_bug.cgi?id=688820
Introduce GBytesIcon

GBytesIcon is an icon that has a GBytes inside of it where the GBytes
contains some sort of encoded image in a widely-recognised file format.
Ideally this will be a PNG.

It implements GLoadableIcon, so GTK will already understand how to use
it, but we will add another patch there to make things more efficient.

https://bugzilla.gnome.org/show_bug.cgi?id=688820
GIcon: add g_icon_[de]serialize()

Add support for serialising a GIcon to a GVariant and deserialising the
result back to a GIcon.

This solves a number of problems suffered by the existing to_string()
API, primarily these:

 - not forcing the icon to be a utf8 string means that we can
   efficiently encode a PNG (ie: just give the array of bytes)

 - there is no need to ensure that proper types are loaded before using
   the deserialisation interface.  'Foreign' icon types will probably
   emit a serialised format the deserialises to a GBytesIcon.

We additionally clearly document what is required for being a consumer
or implementation of #GIcon.

Further patches will be required to GdkPixbuf and GVfsIcon to bring
their implementations in line with the new rules (essentially: introduce
implementations of the new serialize() API).

https://bugzilla.gnome.org/show_bug.cgi?id=688820
Updated POTFILES.in
Updated gujarati file
Updated Spanish translation
tests: Fix appinfo test