List valid modem technologies in RadioSettings interface

This branch adds ModemTechnologies property to org.ofono.RadioSettings interface. This property lists valid RATs for the modem. The changes also ensure that org.ofono.RadioSettings is available when there is no SIM, which is required to access FastDormancy (needed for power management) and ModemTechnologies (needed by system settings) properties.
It compiles, but it crashes, please give it a try. If I run list-modems, in the moment I try to retrieve org.ofono.RadioSettings properties, I get a SIGSEV. gdb produces the following trace:

Program received signal SIGSEGV, Segmentation fault.
0xb6dff7ae in strlen () from /lib/arm-linux-gnueabihf/libc.so.6
(gdb) bt
#0  0xb6dff7ae in strlen () from /lib/arm-linux-gnueabihf/libc.so.6
#1  0xb6eb47d8 in ?? () from /lib/arm-linux-gnueabihf/libdbus-1.so.3
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

You need a double indirection in the argument to ofono_dbus_dict_append_array(), and we need a variable to hold a pointer to the array. Please see my previous comments ("Show outdate diff" above) and take a look to append_array_variant() implementation.