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
include: Add function to set 3G caps for the modem
src: Add function to set 3G caps for the modem
doc: Add function to set 3G caps for the modem
test: Add script to control 3G caps
mtk: Consider 3G caps on modem creation

The 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.