Unify action phases into one class

check what can be called in particular phase at runtime
Improve World#trigger return value

- return PlaningFailed or Triggered products
- improve error ExecutionPlan::Steps::Error
  to keep reference to original error
- PlaningFailed contains exception risen in Plan phase
  to be able to raise it again when needed