Merge pull request #91 from pitr-ch/master

Add tests for RemoteViaSocket shut-downs, restarts, etc.
Unify the approaches to handling steps and events in ep manager

Also, manage the saving of execution plan in plan manager instead
of flow manager, with better isolation of responsibilities.
Merge pull request #92 from iNecas/fix-plan-saving

Unify the approaches to handling steps and events in ep manager
Initial middleware support
Evaluate stack
Nested calling of middleware in the thread
Call stack with a block instead of action
Cleanup
Create stack at every call

to avoid setting Thread[:current] for passing args. If performance is
an issue, we can revert this change later.
Make stack passing shorter
Testing of running an action with middleware
Always require block when constructing middleware

This block is the thing to be executed at the end. It should simplify and
clarify the usage.
Wrap action methods into middleware stack
Cache middleware classes
Make sure only allowed options are passed to Middleware#use
Incorporate world middleware into stack
Improve Middleware tests
Get example codes to support subdir
Improve test examples
Fix new minitest incompatibility