Make RedisQueue::migrateExpiredJobs atomic (fixes #4912)

This PR fixes [#4912](https://github.com/laravel/framework/issues/4912) by making `RedisQueue::migrateExpiredJobs` atomic. I also had to bump the predis version since `transaction()` has been introduced in `v0.8.5` and the previous `multiExec()` stuff is deprecated.

As expected, this PR breaks `QueueRedisQueueTest::testMigrateExpiredJobs`. I tried - and failed - to update it, since I have no idea how to use Mockery to test methods with callable parameters.

@taylorotwell Thoughts?