Per pipeline pluggable resource discovery

Addresses: BP decoupled-source-sink-discoverable-resources

Add the concept of per-pipeline resource discovery extensions
loaded via stevedore entry points. These are enabled via a
pipeline source 'discovery' element, for example:

  sources:
      - name: host_cpu_source
        interval: 120
        meters:
             - "cpu.util.*min"
        discovery:
             - "file_loader"
        resources:
             - "snmp://ip1"
             - "snmp://ip2"
        sinks:
            - meter_sink

The named discovery extensions are loaded from a global namespace
"ceilometer.discover". Per-pipeline dynamically discovered and
statically configured resources are combined, overridding any
per-agent discovery extensions. An amalgamated resource list for
a set of pipelines with a common interval is passed to individual
pollsters matching those pipelines (matching the pre-existing
logic for statically configured per-pipeline resources).

Change-Id: I154d757f9719f949fcacb56ee2d6b42e36212526
Merge "Per pipeline pluggable resource discovery"