ofono: Work around a Vala bug causing a double-free when adding a modem

Work around Vala bug #709665:
	https://bugzilla.gnome.org/show_bug.cgi?id=709665
which allowed an assignment of a string*[] value to a string[] variable.
string*[] values need the container freeing, but not the members of the
array. However, since the variable was a string[], Vala generated C code to
free both the container and the members, resulting in a double-free of each
member.
Upgrade git.mk

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=679826
Use git.mk's definitions to simplify configure.ac
Use autotools's parallel test harness

We were already unintentionally using it in some cases (depending upon the
developer's system) without the proper safeguards in place. Without them,
the EDS and Tracker tests will mysteriously result in a ton of segfaulting
background processes because they can't be safely run simultaneously.

The upside of using the parallel harness is that it's still safe to use for
the simpler test suites (eg, key-file, folks, telepathy) and should speed up
their runtimes quite a bit. It also adds cleaner logging facilities and
makes the default output a little cleaner.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=679826
Bug 709674 — Ignore non-phonebook-enabled modems in ofono backend

Ignore ofono modems which don’t support the org.ofono.Phonebook interface,
which is needed for accessing contacts stored on the SIM.

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=709674
core: Connect to Persona::notify, not all its details, in Individual

In practice, we care about basically every property anyway, and
tests/eds/perf was spending more than 6% of its time connecting
to these signals. Just connect to notify and demultiplex through a
lookup table for about a 5% speed-up.

In principle we could make the lookup table into a
hash table if it proves to be worth it, but life is probably too short.

https://bugzilla.gnome.org/show_bug.cgi?id=697209
Stop using lowlevel telepathy-glib API
telepathy: Fix tp-zeitgeist-dummy to match changes in b38f7126
ofono: Skip whitespace between vCards when splitting them up

This eliminates the following libebook warning which we were triggering.
libebook itself skips the whitespace, so this introduces no functional
changes.

    libebook-contacts-WARNING **: vcard began without a BEGIN:VCARD

https://bugzilla.gnome.org/show_bug.cgi?id=710178
backends: Work around a Vala const-array null-termination bug

Bug #682698 means that Vala does not null-terminate const arrays, yet it
expects them to be null terminated when returning them to g_object_get().
This results in g_object_get() walking off into arbitrary memory, and Bad
Things happen shortly afterwards.

Work around this (because it doesn’t look like the Vala bug is going to be
fixed any time soon) by manually null-terminating all const arrays (typically
linkable_properties and writeable_properties lists in backends) and modifying
code which iterates over them to ignore null entries.

https://bugzilla.gnome.org/show_bug.cgi?id=682698
Fix phone normalization

This make the code actually match the algorithm described on
http://blog.barisione.org/2010-06/handling-phone-numbers/

It also use a StringBuilder instead of doing tones of string copy.
test: bump the timeout for the Tracker favourite-updates test

This may be a little excessive but smaller amounts occasionally caused a
failure on timeout.

In theory, this shouldn't matter too much, since the test exits early once
conditions are satisfied.
core: Eliminate a shadowed variable

Vala is fine with this but GCC complains. Let’s keep GCC happy.
core: Add [PrintfFormat] attributes to some internal debug methods
core: Remove an excess parameter from a printf()-format function call
telepathy: Remove redundant entries from a CPPFLAGS variable

They’re already in AM_CPPFLAGS, which is substituted into that CPPFLAGS
variable.
build: Whitespace cleanup in various Makefile.am files
build: Disable some GCC warnings for generated C code

The GCC warning spew which results from Vala’s non-perfect generated C
code is distracting and can mask genuine warnings from valac or GCC.

This patch adds some #pragmas in warnings.h which disable as many of these
warnings as possible. Unfortunately some of the warnings are for const
qualifier discards and passing parameters of the wrong type, which (as far
as I know) can’t be disabled.

In any case, this patch eliminates GCC warnings for several C files, which is
better than nothing.

Note that warnings.h should only be included in build targets which compile
only Vala, and don’t compile any non-generated C code. Non-generated C code
should always be compiled with all warnings enabled, to catch legitimate
errors. See the comment at the top of warnings.h.

https://bugzilla.gnome.org/show_bug.cgi?id=710869
build: Enable colourised output from GCC

If GCC supports it, enable the -fdiagnostics-color=auto option, which adds
colour to warnings and errors outputted by GCC. Enable this for both generated
and non-generated C code.

https://bugzilla.gnome.org/show_bug.cgi?id=710869
tests: Fix missing backslash in EDS tests Makefile.am