Use Hapi

let's use hapi js, while changing the code i noticed some sweet
stuff hapi does for us out of the box:

 - taking care of bodyparsing & query parameter parsing
 - taking care of validation
 - taking care of routing

I had to add some custom code to use our old error messages,
however if we are fine with the one from hapi, I am happy to
change that.

I deleted one test because it does not make sense for us now,
as the hapi validator takes care of it for us.
Ooops, `req.url` went missing here. We do need it, however!