shill: PropertyAccessor: Create a const ReadOnly accessor

Provide a means to create an Accessor child class which can be
constructed with a const method.  This is useful for read-only
properties which won't modify the called object's state.  Make
use of this new feature by transforming the HelpRegisterConst*
in the Service object to take const methods and to register
read only accessors.  The bulk of this CL is the change to all
the subclasses to constify methods which were only non-const
due to this issue.

BUG=chromium:325603
TEST=Unit test

Change-Id: I79c6211e9e0907869c2885937dff58c1faf2ca4a
Reviewed-on: https://chromium-review.googlesource.com/178698
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/mock_service.h b/mock_service.h
index 330d278..7dd77f6 100644
--- a/mock_service.h
+++ b/mock_service.h
@@ -42,7 +42,7 @@
   MOCK_CONST_METHOD0(IsVisible, bool());
   MOCK_METHOD1(SetFailure, void(ConnectFailure failure));
   MOCK_CONST_METHOD0(failure, ConnectFailure());
-  MOCK_METHOD1(GetDeviceRpcId, std::string(Error *error));
+  MOCK_CONST_METHOD1(GetDeviceRpcId, std::string(Error *error));
   MOCK_CONST_METHOD0(GetRpcIdentifier, std::string());
   MOCK_CONST_METHOD0(GetStorageIdentifier, std::string());
   MOCK_CONST_METHOD1(GetLoadableStorageIdentifier,