shill: track the CurrentBSS property reported by wpa_supplicant,
and use it to update WiFiService state.

BUG=chromium-os:22850
TEST=new unit tests, autotests (details below)

Ran the WiFiRoaming suite, and noted the following changes:
- 000ChannelHopBSS regressed. This is due to the fact that we
  now call RemoveNetwork when supplicant gives up on connecting
  to a network. With this in place, we need other mechansism
  to retry the connection. (They will come in later commits.)
- 006BeaconLoss now passes.
- 008Prefer5GHz regressed. This failed because we don't group
  Endpoints into Services. I suspect the previous pass was a
  fluke.
- 009ConnectOnResume passes, even though it should fail until
  we provide retry mechanisms. Logs indicate that supplicant's
  AP scan didn't time out as soon as it should have.

Bonus changes:
- Updated some TESTING and HACKING info.
- Added some comments TODOs about timing out connection
  attempts. These aren't strictly part of CurrentBSS
  tracking, but they fit along the theme of getting our
  wpa_supplicant interactions sorted out.

Change-Id: Iba3495cae89ca835523dbf4d9ebfab5da4a8cc2d
Reviewed-on: https://gerrit.chromium.org/gerrit/11822
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: mukesh agrawal <quiche@chromium.org>
diff --git a/TESTING b/TESTING
index ab647e1..06d9841 100644
--- a/TESTING
+++ b/TESTING
@@ -29,6 +29,14 @@
 - and then debug tests like this:
   (chroot)$ gdb_x86_local --board x86-generic /path/to/checkout/src/platform/shill/shill_unittest
 
+- you can specify arguments to the unit tests like this:
+  - full workflow:
+    (chroot)$ GTEST_ARGS="--v=1000 --gtest_filter=WiFiPropertyTest.*" \
+      FEATURES="test" emerge-x86-generic shill
+  - incremenetal workflow:
+    (chroot)$ GTEST_ARGS="--v=1000 --gtest_filter=WiFiPropertyTest.*" \
+      CXXFLAGS=-g cros_workon_make --board x86-generic --reconf --test shill
+
 Running integration tests
 -------------------------
 - build a test image, suitable for a VM: