Introduce ash::network_icon::NetworkIconState

This CL:
* Introduces a NetworkIconState to cache state that the network
  icon code cares about in an intermediate format that will be
  compatable with Mojo network state.
* Fixes a rather bad edge case (that I previously introduced)
  where ActiveNetworkIcon stores pointers to NetworkState that could
  possibly be accessed after being deleted.
* Modifies the criteria for ActiveNetworksChanged() to include
  significant changes to signal strength.
* Adds some verbose logging for continued debugging.

Bug: 923444
Change-Id: I917b353c9da7a3c5e20dc8e69191a6a97f752aa9
Reviewed-on: https://chromium-review.googlesource.com/c/1469521
Reviewed-by: Toni Baržić <tbarzic@chromium.org>
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Commit-Queue: Steven Bennetts <stevenjb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#636562}
13 files changed