Enable all services to be deselected for a WWO

www.agileplannerapp.com/boards/173808/cards/8045
fixes: https://govuk.zendesk.com/agent/tickets/802017

adding a hidden field for the check box group for
services for a worldwide organisation, which enables
deselection of all services, similar to:

http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-check_box-label-Gotcha
Add content_id field to documents.

Migration to create the field. The content_ids will be populated
separately in a data migration.
Data migration to ensure documents have a content_id

it's better to do this in a data migration so that we are sure that the
application server code has reloaded when this is run.

If this was done in a database migration then there would be a race
condition where:

* all documents had had a content_id set
* application code had not reloaded
* user creates a new draft document which does not get the content_id
  set

We then end up with a few documents without content_ids.
Ensure that content_id is set on new documents

The Edition::Identifiable module handles the integration between
edition and document including the initialization of Documents.
Exported json for an edition should include content_id
Data migration to republish all published editions to the content store

This will enqueue sidekiq jobs to actually perform the republishing for
each edition
Allow update_type to be overridden in publishing api presenters

Sometimes we'll need to send documents with an `update_type` of
`republish`. Therefore we need to be able to pass this option into the
presenter.
Options passed to the API worker should pass to the presenter

We want to be able to 'republish' documents, so we need to be able to
pass an `update_type` option to the worker.

In an ideal world the test case for this could have been neater. But the
helpers provided by gds-api-adapters do not allow stubbing requests
without doing an exact match on the body json, so we need to
render the entire presenter output.
DataHygiene::PublishingApiPublisher should 'republish'

Updates should be sent as 'republish' messages. The only use case for
this class is bulk-republishing already-published things, so it seems
reasonable to make this the default.
Rename PublishingApiPublisher to PublishingApiRepublisher

this better reflects its intended purpose.
PublishingApiRepublisher skips editions which are not published

It doesn't make sense to 'republish' an edition which is not currently
published. This guards against possible errors in the invocation/usage
of this class.
Merge pull request #1869 from alphagov/content-ids-for-documents

Content ids for documents
Revert "Merge pull request #1869 from alphagov/content-ids-for-documents"

This reverts commit 9cad0acb37d846c3ba35608e4615c64250e723af, reversing
changes made to 6d98f262f053a6440eac45b937d2aaa62a7f3a0f.
Fix bug with supporting page url generation

There was an issue with generating URLs for supporting pages that belong
to more than one policy.  The code in the controller[1] specifies the
policy to generate the URL for.  However, this option was being
overridden in the url helper.

This updates the URL helper to only set the policy if one hasn't been
given.

[1] https://github.com/alphagov/whitehall/blob/build-11392/app/controllers/supporting_pages_controller.rb#L10-L11
Merge pull request #1868 from alphagov/fix-service-deselection

Enable all services to be deselected for a WWO
Merge pull request #1873 from alphagov/fix_supporting_page_url_bug

Fix bug with supporting page url generation

https://www.pivotaltracker.com/story/show/83388244