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
Add lgsl code for "Find the location of weighbridges"

Necessary for this local transaction to work.

Pivotal: https://www.pivotaltracker.com/story/show/83573974
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
Merge pull request #317 from alphagov/add_lgsl

Add LGSL code for "Find the location of weighbridges"
Migration to move expectations to need_to_know

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

need_to_know is a newly introduced field on PlaceEdition,
TransactionEdition and LocalTransactionEdition which stores
'What you need to know' text replacing the expectations.

1) to reduce complexity,
2) to accommodate work going on on redesigning 'start' pages and
3) because prescribed expectations don't meet content design needs.
Replace expectation check-boxes with need_to_know

www.agileplannerapp.com/boards/173808/cards/8707
Remove Expectation index and create views

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

With Expectations now modelled as a govspeak field
on editions, we no longer need this.
Add margin before need_to_know field

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

also replaced grid wrappers with input helper classes,
continuing with: alphagov/publisher#283