Retry package based on Sean's composition design with essential logical refinements / fixes

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.

We use three states, Yes, Maybe and No. To evaluate composed strategies:

```
// We retry (output Yes) if one or more retriers evaluate to Yes and none says No 
// To output Yes some can also evaluate to Maybe as long as one evaluates to Yes. 
// If all evaluate to Maybe we will return Maybe.
// If one evaluates to No we'll return No regardless what the others returned
```

To optimize the evaluation by the strategies.Retry function we make use of arithmetic properties of the values representing the states.


First one to respond yes, responds yes doesn't work, what if one after responds No? No has priority. You have to evaluate all of them to check if one of them says No