Refactor app initialization.

This allows applications to be initialized programmatically.

* Add `PluginType` constants for the logger, proprietary pinger,
  metrics, storage adapter, router, locator, server, and server
  handler plug-ins.
* Add a `PluginLoaders` type that maps each `PluginType` to an
  initialization function.
* Extract the initialization process into `PluginLoaders#Load()`.
Add `StaticLocator`.

`EtcdConf` => `EtcdLocatorConf`. Simplify `EtcdLocator.ConfigStruct()`.
`Store`: Remove `MaxChannels` from `DbConf`.

`MaxChannels` is now a top-level option, and may be specified for all
storage adapters. Simplify `NoStore.ConfigStruct()`.
Client: Exercise the new `PluginLoaders` API.
Update the sample config.