mtkmodem: Return slot when parsing 3G caps reply

Previously we were returning a boolean, but now we need the slot number
to be able to know the physical slot the UNIX socket controls.
mtkmodem: Add set 3G request

This request sets the current 3G slot, and makes the other slot 2G.
mtkmodem: Adapt to change in 3G caps parsing
mtk: Support the 3G caps switch case

Add support in case we change the default slot with 3G capabilities.
Needed changes are:

1. rild sockets do not always control the same physical slot: it can
change depending on the slot that owns the 3G capabilities at a given
time. /dev/socket/rild always controls the 3G slot, while
/dev/socket/rild2 controls the other one. As we want to keep the
association between physical slots 0/1 and object paths /ril_0/1, now
we check the 3G capabilities so we know the physical slot that we
control with a given socket, and we associate the right modem path
with that socket. Having just one slot is also considered so things
work also in that case.

2. A function to reset the modem. This function should be invoked when
we have changed the slot with 3G caps.
rilmodem: Handle GSM_WCDMA_AUTO rat mode

Handle GSM_WCDMA_AUTO mode, which is returned by MTK modems as factory
default.
mtkmodem: Add MtkSettings interface

MtkSettings exposes MTK-specifics to DBus.
mtkmodem: Export mtk plugin reset function

The reset functiont is required by the MtkSettings interface.
build: Add mtksettings.c
doc: Add MtkSettings interface documentation
test: Add script to set MTK 3G slot
unit: Add and adapt tests for 3G caps set/query
Merge pull request #126 from alfonsosanchezbeato/support-3g-switch

Support 3g switch