Use a timeout when looking for a job to reserve

Allow setting a timeout for the reserve command when looking for new
jobs.  Helps reduce starvation/increase throughput on job consumption
when using multiple beanstalk servers that don't receive jobs at the
same rate.

The default value of nil for .reserve_timeout keeps the previous
behavior.