Add support for shutdown retries and Redis logging

Allows the user to set new options for handling Redis shutdown retries
and logging. The shutdown options resolve an issue I was encountering
with :reload_on_change where the shutdown was asynchronous and wouldn't
always be finished by the time the start command was received, causing
Redis to not be reloaded. The logging options were added as
part of my efforts to debug the shutdown issue.

:shutdown_retries => 0 - Number of times to check whether the shutdown
has finished before giving up
:shutdown_wait => 0 - Number of seconds to wait between retries
:capture_logging => false - Enable to redirect Redis logging to a file
:logfile => "log/redis_#{port}.log" - The log file to write when
:capture_logging is enabled