KETTLE-27, KETTLE-26: Support for custom HTTP error response codes, support two new lifecycle events

for a kettle.server to allow contribution of 3rd-party middleware without breaking the ordering constraints required by Express 3.x. Global renaming and reindenting of files, improvements to commenting
Thank you for this hugely improved documentation; it makes the review process easier when I can compare a particular implementation to its stated intention (in the form of a doc commen like this).