MiddlewareChain implements Middleware interface

If, during ProcessRequest, a middleware returns a response or error, don't process the rest of the chain.

During ProcessResponse, only call the middleware that was called in ProcessResponse.
Merge branch 'master' of https://github.com/marbemac/vulcan

Conflicts:
	middleware/chain.go