Rework halt to use with_return from Return::MultiLevel.

Once #485 is merged, use the with_return handler to immediately stop processing
a before hook or route handler. Includes tests for use in a reoute handler and a
before hook.

Resolves #472.
reflect changes
Merge branch 'Pr/halt_short_circuit'