Converge towards always using IApplicationThread to identify the
remote caller that is finishing a broadcast. This pivot will enable
us to scale nicely to our future redesigned per-app stack, since that
will still only ever dispatch a single broadcast per app.
Add explicit setCurrent() and clearCurrent() methods to ensure that
all BroadcastRecord fields are updated consistently.
Bug: 243656033
Test: atest CtsContentTestCases:BroadcastReceiverTest
Test: atest FrameworksMockingServicesTests:BroadcastQueueTest
Change-Id: I3db8382798bb25fabe20aa9864cf6f8831b64371