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.
Rename organisation_slugs to extra_organisation_slugs in site YAML
Rename the organisation method in the User model to own_organisation

- This means there are fewer things named organisation and the fact
  that in this case it's the organisation the user belongs to is
  easier to see and understand.
Show extra sites on an organisation's page

- Define the HABTM relationship for organisation_sites in the
  Organisation model, not just the Site model.
- Move the sites table in show.html.erb into its own partial,
  duplicating and including it twice to have two tables - one for
  sites and one for extra sites. Now users can see what sites they
  are allowed to edit through their organisation, and what sites they
  are allowed to edit through another's organisation - i.e. BIS can
  edit all of bis.gov.uk, and GO Science can edit its mappings on
  bis.gov.uk, but GO Science doesn't have a site itself, it's
  contained within BIS.
- Tests for this have been written in RSpec, not Cucumber, as an
  experiment and to avoid Cucumber's overheads. This seems easier to
  read as the tests are mostly setup of organisations and sites and
  extra sites that users can edit, the assertions are fairly simple.
Organisation#with_sites_managed_by_transition scope uses extra_sites

- Treat the FK relationship between a site and its org plus those in
  the many-to-many as functionally equivalent for the purposes of
  showing the organisations. In practice, this means that orgs like
  "Go Science" that don't have their own site will appear as an org
  with a site in the orgs list.
- This Cucumber spec tests whether sub-orgs with no actual sites, but
  editing abilities on other sites (i.e. GO-Science -> BIS), will
  show up in the list of organisations. Users looking to edit
  GO-Science's mappings on BIS might not necessarily know to look
  inside BIS.