Change flags to a `dict` so they can be serialised

Fix #22
Don't tell normal users that they're not staff or superusers.

No need to rub it in their faces.
Begin moving to new Liberation modle, clean code up
Bare minimum done for new liberation model

TODO store content type
TODO update async_result as we progress
TODO notify user of errors