runners: update sinatra runner to take args

This makes for a consistent runner api between all the runner
variants.  The sinatra call is now passed in as an arg and the
other standard args are still built from the sinatra call.

This is more prep for switching off the sinatra runner.  In a coming
PR, I'll switch it so that the runner is built by passing in the
args instead of relying on them being set to sinatra call values.