gateway: Trivial variable rename to tmp_rfcomm

Follow the naming in headset.c to rename the prior gw->incoming to
gw->tmp_rfcomm, which is more generic.
gateway: Refactor to remove unregister_incoming()

Close the temporary RFCOMM inside gateway_close(), instead of having a
specific function to handle this.
gateway: Fix not closing temporary RFCOMM

If the gateway is closed during the RFCOMM stablishment (after service
records are gathered) the temporary RFCOMM channel was not closed. Fix
this by storing the channel reference in gw->tmp_rfcomm also for
outgoing connections.
gateway: Cancel discovery in gateway_close()

If service discovery is ongoing when gateway_close() is reached, cancel
it immediately.
gateway: Fix missing dbus_message_unref() calls

gw->msg was referenced with dbus_message_ref() but never unreferenced
correspondingly with dbus_message_unref().
gateway: Fix potential messages without reply

If gateway_close() is called while a pending connection call exists,
send a reply with a generic error message.
gateway: Cancel connection attempt if Disconnect()

If a Disconnect() call is received while there is an ongoing connection
attempt, cancel it. If an service discovery is in process or RFCOMM is
being stablished, cancel them.