Update observation interface
Created by: efritz
This PR updates the interface of the observation package to better suite the usage I've found was necessary when wrapping interfaces for the precise-code-intel services.
See https://github.com/sourcegraph/sourcegraph/pull/10394/files#r420401749 for some design suggestions that I took into consideration here.
Future steps should roll the logging, metrics, and trace packages into this one.