add a completionTimeout to kill long running requests

Adds a completion timeout to handle killing long running requests. The timeout defaults to false and must be explicitly defined in the configuration.