Added more tests, custom error structs and fixed logic in essential parts: For this introduced a tristate as decision output of retrier aspecifiedd evaluator for composed strategies
renaming Yes,No,Maybe to Retry, Ignore, Abort
update comment
Constrain Retryer interface for simpler logic

In order to reduce the logic and state needed from the Retryer
interface, limit errors only to the Abort Decision.  This simplifies
composition, short circuiting Aborts with errors and preferring Retry
over Ignore.

Removes the exported fields for the exported errors - treating them only
as types for type assertions.

Removes expectations that Retry and Ignore may return errors.

Rename RetryBy to All because the package name is included in the
callsite like `retry.All(...)`.

Uses Ignore as the zero value for a Decision, made explicit at
initialization.