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.
I'd prefer if we could not change the API here. First, this function is already in heavy use in clients. Second, I'd like to make a naive user thing about default and other registries at all. Most non-power users will only ever use the convenience functions dealing with the default registry. Only for this function, they suddenly need to be aware that there is a DefaultRegistry.

So perhaps add InstrucmentHandlerWithRegistry or something? I know that that creates even more very similar and similarly named functions, and that's not nice, but I really want to keep as simple for the vast majority of naive users as possible. Open to suggestions how to solve that with that given prerequisite. Perhaps have InstrumentHandler and InstrumentHandlerFunc for the naive users, and then an InstrumentHandlerWithOpts for the power user that not only takes an Opts object, but also a registry... (There are more possible options looming for the InstrumentHandler... set of functions, BTW.)