atmodem: Re-work the CBS driver

We might have mis-interpreted how 27.007 intends for CBS to work.  After
studying the implementation notes of the IMC 6260 modem, the spec intent
made a little bit more sense.
atmodem: remove pending idle callbacks at removal

If device probe and removal happen in short succession, it's possible
that the idle handler registered in the probe function doesn't run before
the device is removed.  In this case, the idle handler needs to be
unregistered so that it does not run and try to access the data that's
destroyed during the removal.
AUTHORS: Mention Mingli's contributions
build: Reorder configure options
build: Reorder default developer build options
build: Use AC_PROG_MKDIR_P instead of AM_PROG_MKDIR_P
tools: Make two functions of stktest static
doc: Add BatteryChargeLevel to Handsfree
include: Add battery charge level notify API
handsfree: Implement BatteryChargeLevel
hfp: use ofono_handsfree_battchg_notify
test: Tweak list-modems to display battchg
atutil: Remove unused macro

With commit 6ee21a3fc18460cc12dbddb3b7ec70e941fa4bbc
the usage DECLARE_FAILURE was removed.
sim: return from cpin when sim ready for telit

Especially for Telit HE910 it is not enough to wait for
entering a PIN code.
If we do not wait for #QSS: 3, subsequent commands,
like +CMER will report SIM BUSY and the network registration
atom will be removed as a consequence.
telit: set baud rate to 115200

Telit HE910 needs the baud rate to be set.
gdbus: Add helper functions for simple D-Bus clients
gdbus: Add support for D-Bus client proxies
gdbus: Add support for D-Bus client properties
gdbus: Add support for complex D-Bus client properties
gdbus: Deep copy of variants also requires a signature