improve the routing mechanism by augmenting the routing error type with some information and a sound monoid instance. this addresses #10
rename GetParam to QueryParam everywhere
rename RQBody to JsonBody everywhere
rename JsonBody to ReqBody
rename JsonBody to ReqBody in tests too -- this closes #11 for now
introduce InvalidBody as the 'stickiest' route mismatch reason. code review changes too, to close #14 close #11 close #10
raise InvalidBody when failing to decode the request body
add a testcase to very that we reject invalid json bodies with HTTP status 400
Merge pull request #14 from zalora/better-route-mismatch

improve the routing mechanism with failure causes and do some renaming