Update type validation specs

Two tests using ensure_validation_of were still passing even though they
didn't have 'unresolved' in the array which should match the supported
types of mappings. Since they continue to pass as long as all elements
of the array the matcher receives are valid (even if the array is empty),
I think the clearest thing to do here is to just pass it Mapping::SUPPORTED_TYPES.
Merge pull request #326 from alphagov/update_validate_inclusion_specs

Update type validation specs
Create BulkAddBatch and use it for bulk add

This lets us add a second subclass for the ImportBatch which will have
different inputs and behaviour.
BulkAddBatch should create BulkAddBatchEntries
Basic ImportBatch#create_entries
Add ImportBatchRow

This will represent a row in the import CSV/TSV. It will act like a presenter,
encapsulating knowledge of how to translate the row into a ImportBatchEntry.
Add a basic ImportBatchesController
Add basic specs for ImportBatchesController

Also move the shared examples for a user without permission into
AuthenticationControllerHelpers.
ImportBatchesController creates a batch
Rename @import to @batch for the #new action

This makes the instance variables consistent with the #create action.
Add an import preview page

This displays counts of each type of mapping to be created, and a
table which currently contains all of the batch's entries (rather
than the first 20).

The table duplicates small parts of the _mappings_table partial, but
since that partial includes many behaviours we don't need here it is
simpler to have this duplication instead of trying to make the partial
usable in this context as well.

This also adds a feature for the happy path (at the moment it only goes
as far as the preview page).
Handle the old URL being an absolute URL
Canonicalize the old URL

ImportBatchRow needs the site to do this.