AtPhonebook handleCpbsCommand was incorrectly sending two responses
to some requests (one inside the swtich statement, then repeating it
after breaking out of the switch statement).
This broke phonebook sync with Audi 2G MMI car kit.
Signed-off-by: Nigel Hannam <nigel@hannam.eu>

Change-Id: I65e54400aad2413725469951899d041870691369
Fix another duplicate response bug in AT+CSCS handling.

Also use the code flow of AT+CSCS/AT+CBPS for AT+CBPR handling.

Change-Id: I7d5b4d4d52b190f33784779d5f4dee27b22c23c9
32 bit int shifted by an amount not in the range -31..31 (FindBugs)

Java language specification:
"If the promoted type of the left-hand operand is int, only the five
lowest-order bits of the right-hand operand are used as the shift distance.
It is as if the right-hand operand were subjected to a bitwise logical AND
operator & (§15.22.1) with the mask value 0x1f.
The shift distance actually used is therefore always
in the range 0 to 31, inclusive."

Change-Id: If69ca0410115581e6593ccfe3ba154c3fe7d6eba
Fix signal strength indicator.

Some devices don't check the service indicator, but only the signal
indicator. Don't give the false impression that the network signal is ok
when we're actually out of service for those devices.

Change-Id: I2e24daf13593439cbc23254fb4539cd250dbae89