First stage of refactor targeting simplicity

Structure flow around requests themselves and composition rather than
handlers and wrappers, the results are likely more readable (and
shorter).
Move all the user auth management business logic to a smart RawUser
object, to separate it from details of API handling. The result should
be more understandable: all critical changes are contained within a
single type.
Also, with all the workflow driven by Requests, we can get rid of the
boilerplate in the HTTP API server and replace it with a tiny tiny
layer of reflection.