Adding the runner concept

As I'm looking to create controller actions I want to expose the
concept of Runners that was explored in other repositories.

This is a chance to extract the core concept of the runner and expand
on it.

As indicated in the documentation for the Runner class, I feel that
this is a necessary component for flexible code.
Merge pull request #2 from jeremyf/adding-runner-concept

Adding the runner concept