Fixes for partner dashboard

@mbertheau highlighted shortcomings with the partner dashboard in #968. This PR builds upon his changes and additionally adds a 'user role' field. Changes to @mberthau's code are solely that staff user's permissions aren't touched.

The idea is:
  *  All users (existing and new) can be associated with a partner (previously only is_staff=True). If staff, don't touch the permissions. If not, add the permission.
  * Don't touch user permissions/staff status when removing. User might have been added to different partners. Without being associated to a partner, dashboard_access doesn't do anything.