Remove the async decorator

The new `tornado.gen.coroutine` decorator does not need the
`tornado.web.asynchronous` decorator in order to run asynchronous
methods.
Add Middleware base decorator class
Query param validation
Fixing pytest test collection
Report missed lines during tests
Compatibility with tornado 3.2