Extend the timeout on long running tasks.

By default, anything using progress (even if not shown), will adjust the timeout.  Generator functions don't usually need to adjust the timeout, because cherrypy only applies the timeout up to the first occurence of a `yield`.

Because cherrypy's default timeout is 300 seconds, I don't see a way of truly testing this in travis without making builds take an extra 5 minutes.

This address issue #517.