Max recursion

Here is the implementation for https://github.com/WebFilings/furious/issues/41

They `Async` now keeps a `current_depth` and `max_depth` in it's options which the `run_job` function checks and increments. If the current_depth exceeds max depth then an INFO level logging message is output and execution ceases.