Add template for select_authorities

Should retain a list of selected public bodies across searches.
Add new_batch action

Give it basic access control, and add some conditionals to the 'new'
template around bits that use @info_request.public_body so that they
render something different if @batch is assigned.
Add a batch_request_template flag

A virtual attribute to use to customise some info request behaviours
when we are using one request as a template for creating multiple
requests.
A batch template request should return a standard email subject.
Handle the application of censor rules to a batch request template.
Create a placeholder salutation for a batch request template.
Isolate code for preparing to display the compose interface.

Reuse it for the batch request page.
Create template and outgoing message

Add validation, preview as in single request creation. Add comments
noting further work to be done in this action.
Require at least one public body in the params.
Pass public bodies list through forms.
Add some specs for existing exceeded_limit? behaviour
Batch users don't have a daily limit.

It doesn't make logical sense that they would. However I am preserving
the ability to make batch requests as a separate thing from not having a
daily limit - I think batch sending requires a (perhaps marginally)
bigger level of trust.
Factor out common params for clarity.
Handle a banned user making batch requests.
Remove extra 'is invalid' error message.

This duplicates what's done in the new action, but I can't currently
think of a way of sharing functionality that doesn't seem overly complex
and/or risky.
Add InfoRequestBatch model.

Re-annotate models. Index InfoRequestBatches by user - we'll display the
batches for a user when they view their own requests.
Use two bodies in specs.
Simple code for the happy path

Create the batch and associate new requests with it, send the outgoing
messages, and redirect to a page for the new batch.
Make method names for finding existing objects clearer

They're not finding by the existing object, they're finding an existing
object.
Add check for double submission.