bluetooth: Invalidate services upon disconnection
Remove services from attribute instance map when a device disconnects or when disconnect is called.
Check that the service is in the attribute instance map and reject if it isn't.
Small refactor of disconnect() and dispatchGattServerDisconnected() to more closely
match the spec.
BUG=
654950
Committed:
https://crrev.com/344468c89036d7eff858c39c7fbb0e360f0ea71e
Cr-Commit-Position: refs/heads/master@{#430206}