Create mappings batch tables
Validate Mapping http_status is in array

The constant was unused. Presumably it was once. I stringified the entries
because we store them as strings in the database.
Add validations to MappingsBatch

These are mostly duplicates of things on Mapping, because MappingsBatch is a
pseudo-mapping.
Create MappingsBatchEntries after creating batch
Be consistent when accessing the bulk_add object
Add MappingsBatch#process
Add Sidekiq

Had to bump mlanett-redis-lock because it had a conflicting dependency on redis.
Add basic worker for processing mappings
MappingsController uses background worker

There is no longer any feedback to the user, which is lame. I'll add that back
in next.
Handle batches being deleted before processing
Record state of MappingsBatch processing
Record state for each MappingsBatchEntry

This will let us display progress to the user.
Don't queue batches repeatedly
Show a flash message of bulk add status
Make spec deterministic
Show outcome of background bulk add
Clear old mappings batches

We don't want ephemeral data hanging around forever.
Disable Sidekiq retries

Sidekiq will perform 25 retries over approximately 21 days using an exponential
backoff algorithm. We probably don't want mappings being changed days afterward
so let's never retry.

This is fairly drastic - we could have 6 retries which would be attempted over
6 minutes, but the MappingsBatch state field behaviour is incompatible with
retries - it would mark them as failed after the first attempt.

If we wanted to add retries back in, we'd need to change MappingsBatch's model
of state to cope with it.
Handle invalid URIs in MappingsBatch validation
Improve the validation messages on bulk add