Add a can_make_batch_requests flag to user model

Make it updatable via the user admin page.
Add new config param - ALLOW_BATCH_REQUESTS
Add a select_authorities action.
Add a link to the select_authorities page.

Contingent on batch requests being allowed, and the session user being
allowed to make them.
Handle not enabled, no user, unauthorised user.
 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.
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.