Apply permissions

@noahsark769 can you check this pr? I pass tests locally but I'm failing a bunch on remote. This could be due to me disconnecting the revolvuserprofile signal. 
Nitpick: I feel like you could write a helper function that would turn `is_ambassador` and `is_administrator` into one liners to DRY this up a little bit