shill: Perform Portal Detection in Device

When a connection completes, start a portal detection request, which
may change the state of the selected service. Bonus changes: removed
Service::kStateReady, since Service::kStateConnected maps directly
to flimflam::kStateReady.  Also, move technology list parsing over
to technology.cc.

BUG=chromium-os:23318
TEST=New unit tests

Change-Id: I2fad724165af6914c8f83bc123f07db5af223a05
Reviewed-on: https://gerrit.chromium.org/gerrit/16117
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/mock_manager.h b/mock_manager.h
index 557c988..5b97d96 100644
--- a/mock_manager.h
+++ b/mock_manager.h
@@ -30,6 +30,8 @@
   MOCK_METHOD2(HandleProfileEntryDeletion,
                bool (const ProfileRefPtr &profile,
                      const std::string &entry_name));
+  MOCK_METHOD1(IsPortalDetectionEnabled, bool(Technology::Identifier tech));
+  MOCK_CONST_METHOD0(GetPortalCheckURL, const std::string &());
 
  private:
   DISALLOW_COPY_AND_ASSIGN(MockManager);