shill: wimax: Load WiMAX services from profiles, support Manager::GetService.

This change basically allows shill to create, register, load, save and configure
multiple WiMAX serices for each WiMAX network (identified by the network
id). The overall set of changes:

- Introduce the concept of a WiMaxNetworkId. This corresponds to Network's
  Identifier property but may group several different identifiers if necessary
  (e.g., through a WiMAX network database).

- Each WiMAX service is uniquely identified by its storage ID which is based on
  the WiMaxNetworkId and the friendly service name. For example,
  "wimax_mynetwork_01234567".

- When a WiMax device is registered with the manager or when a new profile is
  pushed, the WiMax device loads and registers all WiMax services from the
  profile (WiMax::Load). It start only the services that are associated with
  live WiMaxNetworkIds. For example, if the only live network is "01234567" and
  the device loads "wimax_mynetwork_01234567" and "wimax_yournetwork_76543210",
  only "wimax_mynetwork_01234567" will be started. A started service will
  usually have a positive signal strength, while a stopped service will always
  have a zero signal strength.

- When a new WiMAX network becomes available (identified by its WiMaxNetworkId),
  a new default WiMAX service may get created that's associated with that
  WiMaxNetworkId and network name as supplied by the network. Also, all services
  that are associated with that WiMaxNetworkId are started. For example, if
  network "76543210" with a network-supplied name of "defaultname" becomes live,
  shill creates, registers and starts "wimax_defaultname_76543210" and start the
  already created and registered "wimax_yournetwork_76543210".

- When a WiMAX network disappears, the associated services are stopped. The
  services are deregistered when the WiMAX device is stopped.

- RPC methods Manager::GetService and Manager::ConfigureService now support
  configuring of WiMAX services. The required arguments include the
  WiMaxNetworkId and the service name.

BUG=chrome-os-partner:9907
TEST=unit tests

Change-Id: Ieedbb62b5ca82e36d862ed86e817d584ae5c7d08
Reviewed-on: https://gerrit.chromium.org/gerrit/23211
Tested-by: Darin Petkov <petkov@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
diff --git a/wimax_network_proxy_interface.h b/wimax_network_proxy_interface.h
index 2216051..c62469d 100644
--- a/wimax_network_proxy_interface.h
+++ b/wimax_network_proxy_interface.h
@@ -14,6 +14,11 @@
 
 namespace shill {
 
+// Generally, a string representation of a Network's Identifier. We may group
+// several different network identifiers into a single representative
+// WiMaxNetworkId, if necessary.
+typedef std::string WiMaxNetworkId;
+
 class Error;
 
 // These are the methods that a WiMaxManager.Network proxy must support. The