ocd
refine express(1) generated stylus middleware
debug() originalUrl in router
refactored * routing test
more * tests
misc refactoring
Added public `app.routes`. Closes #887

keep things simple for now :)
Changed: res.send() only set ETag when not previously set
Changed: moved static() in generated apps below router
Added res.locals.use(). Closes #1120
removed file heading comments
fixed two res.locals.use() tests
Added view-locals example
ws
any engine
path.existsSync is deprecated. It is now called `fs.existsSync`.
Merge pull request #1124 from pyrotechnick/patch-1

path.existsSync is deprecated. It is now called `fs.existsSync`.
Prepared release 3.0.0alpha3
use process.env.PORT. fix for #1118
use get() with single argument to read setting vars