If controller stopped, don't run hooks or action.

- Issue #475
- The runHooks and _run methods need to check whether the controller is in a
  stopped state so that if you redirect, the previous controllers functions
  don't continue to execute for the first time.