Add a Preparer class to render CSV of topic changes

This adds a new class which, when given a source and destination topic,
will build a CSV of proposed slugs which should be retagged with the
destination topic.
Add Rake task to output generated CSVs to a file

This adds a new Rake task, 'topic_changes:prepare', which invokes the 
TopicChanges::Preparer class and writes the CSV returned to a file in
the 'tmp/' directory.

The Rake task takes two required arguments: the 'source_topic_id' and
'destination_topic_id'.
Add TopicChanges::Processor class for retagging

This adds a Processor class which, given an array of rows, each with 
a slug and topic ids, will replace or remove the topic_id from any 
matching editions.

After all the editions matching the slug have been saved, we then use
the existing `PublishedSlugRegisterer` class to republish the 
appropriate published edition to Panopticon and the Publishing API.
Fix erroneously synced users

Signon push update rake task pushed information
of users who had never used Publisher, so cleaning
that up. see related:

https://github.com/alphagov/signonotron2/pull/290/files
Migration to add 'the' to will_continue_on text

www.agileplannerapp.com/boards/173808/cards/8718

Frontend will stop adding 'the' to will_continue_on text
on business support editions:

https://github.com/alphagov/frontend/pull/695

This change allows editors to add 'the' when needed in
the best way possible, and keeps it consistent with
other formats.

This migration fixes existing data to contain that word.
Also, updated the hint text to suggest that editors need
to add 'the' to will_continue_on in business support.
Merge pull request #316 from alphagov/fix-erroneously-synced-users

Delete erroneously synced users
Add Rake task to run the processor

This adds a Rake task which, given a path to an existing CSV file, will 
parse the provided file, create an instance of the Processor object, 
and run the processor.

The explicit Logger instance is required in order for logging to be 
printed to the terminal without the need to run Rake with `--debug`.
Warn when no action is being taken for an edition
Merge pull request #315 from alphagov/topic-modification-task-mk2

Add scripts and Rake tasks to retag content with CSVs
Merge pull request #310 from alphagov/fix-the-the

Migration to add 'the' to will_continue_on text
Fix migration written to fix synced users

The earlier version was incompatible with mongoid,
because it expects keys to be symbols or strings.
Merge pull request #318 from alphagov/fix-migration-to-fix-synced-users

Fix migration written to fix synced users
topic_changes:prepare takes output file parameter

We want to be able to run the topic_changes:prepare task from rake.
To do this effectively, we need to be able to determine where the output
file is going to be generated.

This PR adds that as a required argument.  For safety, it also checks
that the output file doesn't exist already, to avoid overwriting files
by mistake.
Merge pull request #319 from alphagov/topic-change-csv-outputfile-as-argument

topic_changes:prepare takes output file parameter