Support policy layer and drivers for Fuchsia WLAN

This changes adds support to all Fuchsia WLAN tests
to use the policy layer by default. It also maintains
the ability to use the drivers by specifying the
association_mechanism in the FuchsiaDevice block
of the ACTS config.

This change also moves utility functions into the objects that they
impact, to reduce the number of code flows. Fuchsia WLAN policy
functions were added to a seperate object, that is then made an attribute
of FuchsiaDevice.

A new configure_wlan flow was added to ensure that the new, complex
wlan configurations required for the policy layer are only invoked
when specifically called, and that they do not interfere with non-wlan
tests.

Bug: None
Test: Ran all affected tests with both policy layer and drivers (where applicable)
Change-Id: I2befd59b5137ee368fe1586009696345044912f4
diff --git a/acts_tests/tests/google/fuchsia/wlan/ChannelSweepTest.py b/acts_tests/tests/google/fuchsia/wlan/ChannelSweepTest.py
index 57ecbb0..552cfa9 100644
--- a/acts_tests/tests/google/fuchsia/wlan/ChannelSweepTest.py
+++ b/acts_tests/tests/google/fuchsia/wlan/ChannelSweepTest.py
@@ -29,11 +29,11 @@
 from acts import asserts
 from acts import context
 from acts import utils
+from acts.controllers.access_point import setup_ap
 from acts.controllers.ap_lib import hostapd_config
 from acts.controllers.ap_lib import hostapd_constants
 from acts.controllers.ap_lib.hostapd_security import Security
 from acts.controllers.iperf_server import IPerfResult
-from acts_contrib.test_utils.abstract_devices.utils_lib import wlan_utils
 from acts_contrib.test_utils.abstract_devices.wlan_device import create_wlan_device
 from acts_contrib.test_utils.wifi.WifiBaseTest import WifiBaseTest
 
@@ -236,16 +236,16 @@
             raise ValueError('Invalid Bandwidth: %s' % channel_bandwidth)
         ssid = utils.rand_ascii_str(hostapd_constants.AP_SSID_LENGTH_2G)
         try:
-            wlan_utils.setup_ap(access_point=self.access_point,
-                                profile_name='whirlwind',
-                                channel=channel,
-                                security=security_profile,
-                                n_capabilities=n_capabilities,
-                                ac_capabilities=None,
-                                force_wmm=True,
-                                ssid=ssid,
-                                vht_bandwidth=vht_bandwidth,
-                                setup_bridge=True)
+            setup_ap(access_point=self.access_point,
+                     profile_name='whirlwind',
+                     channel=channel,
+                     security=security_profile,
+                     n_capabilities=n_capabilities,
+                     ac_capabilities=None,
+                     force_wmm=True,
+                     ssid=ssid,
+                     vht_bandwidth=vht_bandwidth,
+                     setup_bridge=True)
         except Exception as err:
             raise ConnectionError(
                 'Failed to setup ap on channel: %s, channel bandwidth: %smhz. '
@@ -597,9 +597,7 @@
             password = None
             security_profile = None
         ssid = self.setup_ap(channel, channel_bandwidth, security_profile)
-        associated = wlan_utils.associate(client=self.dut,
-                                          ssid=ssid,
-                                          password=password)
+        associated = self.dut.associate(ssid, target_pwd=password)
         if not associated:
             self.log_to_file_and_throughput_data(channel, channel_bandwidth,
                                                  None, None)
@@ -717,7 +715,7 @@
             (ssid, channel, channel_bandwidth, 'Device should associate'
              if should_associate else 'Device should NOT associate.'))
 
-        associated = wlan_utils.associate(client=self.dut, ssid=ssid)
+        associated = self.dut.associate(ssid)
         if associated == should_associate:
             asserts.explicit_pass(
                 'Device complied with %s regulatory requirement for channel %s '