Fix Receiver#flunk

- Allow storing exceptions without instantiating them, because the class may not be available to the process running Ruote (remote process running ruote-resque for example)
- Reintroduce receiver.flunk(workitem, e)
- Better outline the different cases
Added tests for new flunk method
Fixing test issues, still getting a NameError on the non instantiation test
reorganize and modernize ft_25

* place participants on top of the tests that use them
* fix typos
* make participant extend Ruote::Participant (drop on_cancel)
list Adrien Kohlbecker as a contributor
rework Adrien flunk proposal

next step: implement his "SomeUndefinedConstant" proposal and make the error_handler comply.