Better custom errors initialization
middleware.name -> middleware.alias because of immutable Function.prototype.name
Don't invoke StepSequence with new
Implement ability to halt a step sequence from executing chain of steps.

Useful for stopping a chain of steps at the same time we use the error handling
express next callback.
Remove console.log and TODO comment
Add EveryModule.prototype.halt for halting a StepSequence
Fixed call to StepSequence(...); was missing arg
When creating submodules, reset _events and _maxListeners
Move validation out of setup and directly into lazy middleware call.

Also only do validation and setup logic the first time
EveryModule.prototype.middleware(alias) is invoked.
Copy setup listeners from parent -> submodule, not to self
Use StepSequence, not new StepSequence