ClientModeImpl: Cache APF on non primary STA

Most chip vendors have indicated that they can't currently handle 2 sets
of APF filters. So, cache APF for non-primary STA (gated by an overlay)
in the framework and don't apply it. If one of the secondary STA's
become the primary (MBB use-case), then we apply the cached APF.

Note:
1. The initial plan was for the firmware to handle this APF switch
internally by using "primary" connection HAL API. Look at the attached
bug for details on why this is hard for them.
2. Connectivity stack does not have any indication that APF was not
applied. But, this was anyway the plan in (1).
3. The filter application on MBB primary switch should only be done
after the primary switch is sent down to the HAL using
setMultiStaPrimaryConnection() HAL API (otherwise firmware may
ignore the filters sent down because it is not primary connection
in its records).

Bug: 160501722
Test: atest com.android.server.wifi
Test: Manual verification - TBD
Change-Id: Ic1ba4d72f24c3af8dfced36389a65cce9e5b679e
8 files changed