Remove the onrequest hook

It was redundant with middlewares. Allows us to save a few operations
for every incoming requests.
Remove the error tuple return value for middlewares

It wasn't interesting compared to simply returning a halt tuple
with an explicit reply.
Small tweak from erlang:error/1 to error/1