runners: add a `DeasRunner` to eventually replace the sinatra runner

This adds in a `DeasRunner`.  This runner will be the future live
runner and is intended to eventually replace the sinatra runner.
We are moving away from using Sinatra and this is part of that process.

Right now the deas runner is responsible for all live runner function
not involving the sinatra runner.  This includes the run and callback
behavior and live param normalization.  In future PRs we will begin
porting the sinatra specific runner logic to our new deas logic.