Add a can_edit_site? method to the User model

- Replicate the existing permissions on can_edit?, referring to a
  site rather than an organisation.
- Add very similar tests for this new method, referring to site
  permissions.
Add a nested context block to shorten context descriptions