[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/accessor_interface.h b/accessor_interface.h
index 85f3913..916a976 100644
--- a/accessor_interface.h
+++ b/accessor_interface.h
@@ -8,6 +8,7 @@
 #include <map>
 #include <string>
 #include <tr1/memory>
+#include <vector>
 
 #include <base/basictypes.h>
 
@@ -36,12 +37,16 @@
 // Using a smart pointer here allows pointers to classes derived from
 // AccessorInterface<> to be stored in maps and other STL container types.
 typedef std::tr1::shared_ptr<AccessorInterface<bool> > BoolAccessor;
+typedef std::tr1::shared_ptr<AccessorInterface<int16> > Int16Accessor;
 typedef std::tr1::shared_ptr<AccessorInterface<int32> > Int32Accessor;
+typedef std::tr1::shared_ptr<AccessorInterface<std::string> > StringAccessor;
 typedef std::tr1::shared_ptr<
     AccessorInterface<std::map<std::string, std::string> > > StringmapAccessor;
-typedef std::tr1::shared_ptr<AccessorInterface<std::string> > StringAccessor;
+typedef std::tr1::shared_ptr<
+    AccessorInterface<std::vector<std::string> > > StringsAccessor;
 typedef std::tr1::shared_ptr<AccessorInterface<uint8> > Uint8Accessor;
 typedef std::tr1::shared_ptr<AccessorInterface<uint16> > Uint16Accessor;
+typedef std::tr1::shared_ptr<AccessorInterface<uint32> > Uint32Accessor;
 
 }  // namespace shill