Add strict type validator

How is this going to work with query strings? Consider the request `?a=1&b=true`. `req.query` will return `{a: '1', b: 'true'} `. 

Take a look at how [`qs` library works](https://github.com/hapijs/qs/blob/master/test/parse.js). It is used to parse query strings by default and also in the [`body-parser`'s urlencoded extended](https://github.com/expressjs/body-parser#bodyparserurlencodedoptions) method.