One site can be owned by multiple organisations on import

- We only create this relationship for the extra organisation slugs,
  not the ones that were there originally, i.e. whitehall_slug.
- Fix some whitespace between {} in a block.
Ensure that site-org relationships always reflect organisation slugs

- When an organisation decides that it doesn't want a
  sub-organisation editing mappings anymore, we can remove the
  sub-organisation's slug from organisation_slugs in the YAML and the
  import will remove the relationship. That way, we don't have to
  manually delete the rows from the database.
Improve test coverage

- When multiple organisations are added, then one is deleted from a
  site, the relationship for the other still exists.
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
Change can_edit? in MappingsController to use can_edit_site?

- Fix a failing Cucumber spec because we updated the message to no
  longer read "edit mappings for site" as we refer to site, not
  organisation.
Show edit buttons when the user can edit a site's mappings

- Show users an edit button if they can edit a site within an
  organisation, so they can edit their site's mappings (e.g. BIS ->
  GO Science). Before, users who could edit a site through the new
  permissions wouldn't have seen the edit buttons because they were
  organisation-specific.
Show editing permission per site on the organisation page

- Replace the flash message about editing organisations with a table
  column detailing whether the user can edit a specific site in the
  table.
- Add new Cucumber specs to test this new table behaviour. Make these
  specs DCLG-specific to not have to wrangle too much with Cucumber.
Now can_edit_site? works, remove can_edit? and its associated tests

- We've replaced it with can_edit_site? which takes a site instead of
  an organisation and uses the same permissions.
Using the new site-org relationship, determine whether a site is user-editable

- The site-org relationship is the new one that gives the ability to
  specify multiple organisations who can edit one (or many) sites.
- Add some tests for this behaviour.
- Fix whitespace in a curly brace block.
Rename the new relationship to extra_organisations to be less confusing

- Before, it was named organisations, which was confusing as there's
  also Site.organisation. The new name distinguishes the meaning of
  the relationship to be other organisations that can edit the site.
- The Site.organisation relationship is the organisation that owns
  the site. Bouncer uses the Site.organisation_id field, so instead of
  referring to the same thing in different ways in both Transition
  and Bouncer, we've created a new relationship and kept Bouncer's
  the same, as Bouncer doesn't need the new behaviour - it just needs
  to know who primarily owns the site.