[shill] Add properties to Manager, Device and subclasses. Clean up unit tests

1) Pull much of the properties stuff (the maps, Register*(), Contains()) up
   into PropertyStore, and make it a class, not an interface.
2) Add proper property stuff to Manager and Device.  Move Cellular- and Wifi-
   specific properties to Cellular, CellularService, WiFi, WiFiService as
   appropriate.
3) clean up unit tests.

BUG=chromium-os:16343
TEST=unit tests

Change-Id: Iba88f384a5fbe383608cb79fa2134d978f1b81e8
Reviewed-on: http://gerrit.chromium.org/gerrit/3136
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
diff --git a/cellular.h b/cellular.h
index 428aa21..41b9bbf 100644
--- a/cellular.h
+++ b/cellular.h
@@ -28,6 +28,24 @@
   bool TechnologyIs(Device::Technology type);
 
  private:
+  // Properties
+  bool allow_roaming_;
+  std::string carrier_;
+  std::string meid_;
+  std::string imei_;
+  std::string imsi_;
+  std::string esn_;
+  std::string mdn_;
+  std::string min_;
+  std::string model_id_;
+  std::string manufacturer_;
+  std::string firmware_revision_;
+  std::string hardware_revision_;
+  int16 prl_version_;
+
+  bool scanning_;
+  uint16 scan_interval_;
+
   bool service_registered_;
   ServiceRefPtr service_;
   DISALLOW_COPY_AND_ASSIGN(Cellular);