task success now depends on return.code.** task params

task success is evaluated as (in this order)
* return.code.#.success if available (e.g. return.code.0.success if task
  returned 0)
* return.code.default.success if available
* using common convention of the exec mean otherwise (e.g. 0 = success for
  processes, 200-299 = success for http requests)