Move govuk delivery stuff from methods on editions to a Notifier class

This is so we can start to change it for the curated email queue.
Local government content goes on curation queue instead of govuk delivery
Add EmailCurationQueueItem to hold delayed govuk_delivery editions
Don't do any notification if the edition is not available in english
An EmailCurationQueueItem can be created directly from an edition

Also shuffled the tests around to collect the ones for a method together.
Feature to describe the admin flow for managing the email curation queue
Make summary length warning js more generic

So it doesn't rely on #edition_summary we enable it on everything with 'js-summary-length-counting' as a class, and use data attributes (count-message-threshold for the character limit and count-message-selector to define where the div with the message to update is).
Listing and editing of the items in the email curation queue
Allow for deleting items from the email curation queue

Delete means delete.  We'll do the same for the ones that get sent off too.
The gov uk delivery notification end point can take title and summary

It defaults to the title and summary of the supplied edition, but this lets us be more flexible later.  Also extracted methods out of the gov_uk_delivery_email_body method.
Allow sending a queue item to the subscribers

We use the new notify_from_queue! method on Edition::GovUkDelivery::Notifier::GovUkDelivery to invoke the notifcation (which in turns uses the title and summary setting stuff from the previous commit).  Assuming this has worked, we delete the item from the db.
Flesh out the last steps for detecting notification

We swap out the Notifier::GovUkDelivery implementation with one that simply records the arguments passed to new (so a crappy hand-rolled implementation of a test-spy I suppose).  We then look inside this implementation to see if what we wanted to happen actually happened.