* Tidy up `consumer/consumererror` package.
* Updated docblocks for grammar and consistency
* Added `IsPartial()` predicate to match `IsPermanent()`
* Ensured tests for `PartialError` test the public interface
Remove `PartialError` and replace with individual signal error types
Refactor consumererror signal extraction to simplify exporterhelper request interface
* Rename consumererror signal error types to align with rest of codebase
* Rename `onPartialError` to `onError` in `exporterhelper.request` interface
* Provide conversion methods to consumererror signal error types.
This moves the accessors for signal data to methods on the individual error types
and provides As<Signal>() package functions that behave as targeted versions of
the errors.As() function.
* Avoid unnecessary allocation, fixup docs