Add permissions and other cross-user functions; apidoc work

This does not implement Organizations *yet*, but it doesn't make it difficult to implement either - it's in the works.

It seems all schema changes are confined to ones that can be resolved with the `create-all.py` script - new tables that have been created.

Once this has been merged, users will be able to add permissions to one another and be able to access invoices and vps' from one another - other permissions coming soon.

Once this has been merged, I'll have to push changes to the branding, dedi, and colo modules to allow them to work with profile module changes and service inheritance changes.