Configurable SoftAP: Add System API.

This adds a facility for system apps (with NETWORK_SETUP_WIZARD
or NETWORK_SETTINGS permission) to have more control over hotspot
parameters, while allowing them to use local-only mode and the LOHS
callback API for status updates.

Linters give conflicting advice about parameter ordering. With
startLocalOnlyHotspot(config, executor, callback), we satisfy
    (+) put callback last (enforced at compile time)
    (+) use Executor instead of Handler
    (+) put most meaningful argument first
while we're not satisfying
    (-) put executor last as it is a SAM (doesn't seem to make much
    sense to instantiate executor as SAM anyway, users are more likely
    to get an instance from elsewhere)
    (-) for overloads, add new arguments at the end.

Bug: 132705022
Test: atest SoftApConfigurationTest android.net.wifi.WifiManagerTest
Test: atest android.net.wifi.cts.WifiManagerTest (not tested due to
failures on emulator b/143120756)
Change-Id: Ia189b3664b47a253e160acb71eafab4f217649eb
10 files changed