Sync devtools
Rename protected Chain#{handlers => processors}
Don't force Processor implementations to be immutable
Refactor Chain#call spec to work with processors
Let processors decide wether to halt the chain
Add missing contexts to Chain#call specs

While the previous specs for this method were
already mutation covered, the new contexts make
sure that all different chain processor types
(incoming, pivot, outgoing) actually halt or
continue a chain invocation properly.

The previous specs for example didn't fail with
the following monkeypatch:

module Substation
  module Processor
    module Pivot
      def success?(response)
        true
      end
    end
  end
end