[SetupWizard] Fix wifi multithreading issues

- Jank on setupwizard's wifi screens caused by concurrent modification
  of AccessPoint on Worker thread while the wifi list is being updated
  in the Main/UI thread.
- Fix this problem by maintaining two separate lists, one that is
  modified in the worker thread and not published to outside components,
  while another list that gets published on the main thread. The
  AccessPoint changes are computed on the worker thread and once thats
  done, the changes are then copied over to the published APs on the
  main thread.

Test: Connected to multiple APs through both suw & settings. Did not
notice the jank. Also added unit tests

bug:30704173
Change-Id: I78666608d39d3680b91980c1a7907d239dc82799
3 files changed