Allow having no shutdown timeout

This updates the worker pool to allow not having a timeout when
shutting down. This allows an application using the worker pool
to choose to let it's workers finish even if they are long-running
jobs.
Merge pull request #5 from redding/jcr-allow-no-shutdown-timeout

Allow having no shutdown timeout