Make Registry public

This change set exports a Registry interface implemented by the local
registry type. I added TODO comments along the way with improvements
that could be done to reduce the surface area of a Registry's behaviour
and to make the code more orthogonal overall. I'd be glad to contribute
these changes over time, if you like the direction I propose.

This has been done on top of the `standard-exports` branch.

All tests pass except for the Linux specifc `/proc` related tests. I
suggest that we add linux specific build tags to those files.
While I totally agree we need to find a better solution to configure a registry, I don't want to commit to interface wrapping right now. We will have more options to set in the near future (cf. the discussion about how to handle errors during Describe() and Collect() calls). My expectation is to have some kind of options object passed in during construction.

Please rephrase this TODO into something like "think about a better way to configure a registry without polluting the interface"