tests for and refactoring of the "Controllable" Trait modules.

- the arguments API for callbacks has changed.
- [around] and [before] do not handle exceptions.
- neither does [after]. Thus [after] is implemented as "afterReturning" but keeps its short "after" alias.
- [afterThrowing] now gets accompanied by [afterFinally] that switched its position with the former [afterReturning].

- there are more tests to come - so far only [before], [after] and [around] are covered.