Support observable actions inside chains

* Nuke Substation::Utils (!)
* Nuke Substation::Observer and replace it with a
  much simpler implementation inside newly added
  Substation::Action
* Nuke possibility to configure substation via a
  YAML file (not needed/desirable anyway)
* Introduce Substation::Action which basically is
  a simplified version of the previously available
  Dispatcher::Action
* Simplify dispatcher configuration to only map
  from action names to actions/chains.
* Actually support observers for actions that are
  used as chain pivot handlers (the old way of
  configuring a dispatcher actually made this
  impossible).

Defining an action and using it inside a chain
works like this:

module Demo
  # ...
  # application code and substation setup
  # ...

  CREATE_PERSON = ENV.action Actions::CreatePerson, [
    Observers::LOG_EVENT,
    Observers::SEND_EMAIL
  ]

  module App
    CREATE_PERSON = ENV.chain(AUTHORIZE) do
      validate Validators::NEW_PERSON, VALIDATION_ERROR
      # use the previously defined action
      call Demo::CREATE_PERSON, APPLICATION_ERROR
    end
  end
end