Fix permission issues regarding roles

Fix permission issues regarding roles
 - Only give publish permission once a user has accepted the publisher
   role
 - Always give a user view permission if the user has roles awaiting
   acceptance
 - Add test case for partial role acceptance