SpecialistSector model and migration

It will be used to tag editions to specialist sectors
Add cuke for specialist sector tagging
Add SpecialistSector.options_for_select method

Fetches the list of specialist sectors from the content api and builds
it into a structure usable as a list of grouped options by the Rails
select helper.
Show specialist sectors select on edition form
Save specialist sector tags to editions
Rename mainstream_content_api to content_api

It better reflects what it is and what it's for.
Use Whitehall.content_api from SpecialistSector

Also stub out the tags method it uses.
Use real content_api for specialist sector tests

Whitehall.content_api is a faked double in development and test
environments. For the specialist sector tests we explicitly want to test
against a real content_api adapter with stubbed web requests.
Use specialist_sectors in RegisterableEdition

Previously it was looking through mainstream categories to find oil and
gas tags.

Also mixin Edition::SpecialistSectors into DetailedGuide.
Fix SpecialistSector validation for new editions

If you assign specialist_sector_tags to a new (unpersisted) edition they
won't get an edition ID and so won't be valid. This change makes them
check for the presence of edition instead and manually assigns it in
specialist_sector_tags=
Data migration for moving to Specialist Sectors

Removing Oil and Gas Mainstream Categories while moving the relted Detailed
Guides to Specialist Sector Tags
Mixin specialist sectors to consultation, collection + policy

Also adding the partial to those 3 forms along with detailed guides