Add option to abandon chef run if blocked by another for too long.

Looking for feedback especially on things marked TODO (sorry, Dan).

@opscode/client-eng