[4.2] Added customizable expiration time to Redis queue jobs

This is a resubmission of #6141 with removal of constructor changes so we can get this into 4.2.

When using a Redis queue, it used to expire jobs if they lasted more than 60 seconds by default. This created some issues where a job could be processing for longer than 60 seconds, but it would add it back to the delayed queue so later you'd get multiple instances of the same job running in parallel.

I've added an expire option that could be added to config/queue.php. This value should be null if you don't want to expire jobs, or an integer expiration time.
The idea is you can set it to null to prevent expiration of jobs entirely. Which is the feature I think is required for sure. Figured putting it in one setting keeps it simple. So you set null to an int to keep existing behaviour but use a different time, or you set it to null to prevent expiration of jobs entirely.