Proper error handling for middleware continuity
Proper error handling for middleware continuity

As a continuation of https://goo.gl/K5C8Bc, https://goo.gl/Nnp28E and https://goo.gl/E7QmMY.
- When an operation error happens, `error` function is called if it's defined.
- The continuity to next middleware is guaranteed.
- For success, 400, or nonterminal cases, `next()` is called, for terminal case (500) `next(err)` is called.
- Documentation updated.

esthersdev/node-sass-middleware,am11/node-sass-middleware,iMoritz/node-sass-middleware,sass/node-sass-middleware,HowlingEverett/node-sass-middleware