change terminology from "provider" to "source/sink"

During implementation I realized that the publisher interface
conflated the methods needed for publication with the interface that
serves as a data sink to the metrics providers.

I split the publisher interface, and changed to use source/sink
terminology.  All producers are now MetricSources, and the
producer-facing publisher interface is a MetricsSink.  With this
change, the PublisherStub class no longer includes assertions for
methods that it doesn't need to implement.