added some nice little features to BlockingAction

I think BlockingAction would benefit from 2 enhancements
- allow the handler to be a subclassed method as an alternative to providing the handler in the constructor. If provided via the constructor, than use that and ignore the "internal" method. That is only one gets executed.  That makes some existing code a little bit easier to read (see the changes)
- Provide some easy means for a timeout. Though there was only one occasion in the existing code, I can imagine it to be useful in many more cases where BlockingAction is used today.

test cases are include. Tested on Windows and Ubuntu. And source code documented

Juergen