use finalhandler for final response handling
fix behavior when handling request without routes

fixes #2159
Replace __defineGetter__ with Object.defineProperty

closes #2162
Restore req.params after invoking Router

fixes #2163
Fix handling when route.all is only route
Reduce try-catch de-op area in param matching