Extract "exports to publishing api" into mixin.
Add content_id to world locations.
Migration to populate world_location content_ids.
Generic presenter for non-edition placeholders.
Make World Locations publish to publishing API.
Use specific type in placeholder format name.
Send all world locations to content store.
Add world_locations to case_study publisher.
Fix broken tests.
Move concern from models to lib directory
Go through presenter finding method in tests

This decouples the logic for deciding the appropriate presenter for a given
model out of the tests.
Rename ExportsToPublishingApi module

"Export" isn't the verb word; "Publish" is more appropriate.
Abstract away calls to the Publishing API

Instead of invoking workers directly when publishing models to the Publishing
API, app code should go through this abstracted interface. This keeps the logic
for deciding how any given model should be represented in the content store
(and how it gets there) in one place.
Merge pull request #1878 from alphagov/world-location-placeholders

Add world locations to content store
Export topic tagging changes to csv
Import csv tagging changes from csv

- create a script that will read from the a csv location passed as and
  argument and change the topic tagging for the content
- this script should also register the documents with panopticon,
  publishing_api and rummager
- add the document id and type to the csv to allow for easier reporting
  later
TagChangesExporter to take a file location
Create rake tasks to run topic tagging changes
Remove old topic retagging scripts
Use the passed source_topic_id in the csv build