gatt: proactively disconnect L2C when a gatt conn is disused

Track for each conn whether a remote side ever used it as a server, and
how many local clients currently refer to it. When both are zero, close
it. Does this mean that we can never close one ourselves if the remote
has ever made server requests to it? Yes, this is per spec.

BUG=b:74813838
TEST=test app unbroken, more WIP

Change-Id: I49979aefa52c5da80095f4975222c4a564dcae3c
2 files changed