hci: support multi-adv (6/6) - support blaming connections on sets

For 4.0 it is easy - whichever set is on, that is the cause. Mark it as
off (since chip stops advertising when a connection is formed) and blame
it. Done. For Android Vendor Ext it is harder. To start with, the event
that tells us the set to blame comes an unbounded number of milliseocnds
later. Also for set 0 no such event exists. So what do we do? Set a
timer and wait. We assume it is set 0, and if no event arrives by
timeout telling us otherwise, it was. The timeout is picked as 100ms as
a reasonably long time to give the chip plenty of time to fess up. In
reality the event seems to arrive < 1ms after the connection created
event. Event handling was changed slightly to support the vendor events.
As they can be different per controller, passing size is prudent to make
sure they look right. Plumbed that to all event handlers. Also to
properly support own address type, this is plumbed to adv set api.

TEST=blame worked for 4.0 and vendor ext
Change-Id: I899d0d8a138f4e3146c8f456bdf11b09e1b03f9e
3 files changed