* Move ErrorHandler impl to internal
To avoid the import cycle, the otel/metric package needs to not import
otel. To achieve this, the error handling implementation is moved to the
otel/internal/global package where both can import the needed
functionality.
* Add global metric to go.opentelemetry.io/otel
* Crosslink and update to global metric in otel
* Add changes to changelog
* Set PR number in changelog
* Add global metric unit tests
* Rename MeterProivder() to GetMeterProivder()
* Add TODO to remove nolint comments
* Add benchmarks for error handler
* All multiple global ErrorHandler sets
* Use ioutil instead of io for Discard
* Add changes to changelog
* Add unit tests for delegation
* Resolve flaky global ErrorHandler delegation test
Remove multi-goroutine approach and just test what needs to be tested.
* Assert instead of require where appropriate
* Move global code to toplevel package
* Move version function to toplevel package
* Update changelog
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>