Allow non-staff users to be associated with a partner.

Also give associated users access to the partner dashboard by giving them
the partner.dashboard_access permission.
Extend permission handling in partner dashboard

Added a 'user role' choice field. Adds and removes both staff status and
dashboard_access appropriately.
Add unlink_user function

This allows it to be overriden. Also removes the dashboard_access
permission if the user is not linked to any other partners. This is the
inverse behaviour to link_user.
Merge pull request #1001 from tangentlabs/fix/partner_dashboard

Fixes for partners dashboard