Add authorization middleware. Fix #44.

This pull request solely adds the authorization middleware required to implement #29, #26 and so forth. It also adds the possibility for users to change role at the moment, so that we can easier create admin users ourselves for now.

I am wondering if the current user should be able to update his information from [http://localhost:1337/user/me/edit](http://localhost:1337/user/me/edit) instead of [http://localhost:1337/user/:id/edit](http://localhost:1337/user/:id/edit). What do you think?

CC: @mex