Show friendly error message when usage wrong.

`app.get('/foo', notexistHandle)` should throw error message like:
'register get `/foo` router error, `middleware` must be a function, not `undefined`'
Move error message for undefined middleware to Route constructor.
3.2.2
Check if named route path is RegExp or String. Fixes #72.
3.2.3