Refactor use of Redis throughout, removing RedisConn .

Remove `RedisConn`. Connect directly in `App`, setting `Redis.current`.
Connect directly in `Notifier::Sidekiq`. Use `Redis.current` instead
of setting in `Listener::FTP`,`Listener::IMAP`.

Note that this removes the catching of `Redis::CannotConnectError` in
`RedisConn`, but it is intended that such errors be handled outside of
individual classes.
Move error-catching outwards, catching StandardError in App#refresh_loop .

Previously, `Listener::FTP`,`Listener::IMAP` attempted to catch their
own errors, returning after logging. They do not actually handle the
errors, however - only ignore them. Move such error-catching outwards
to the main loop in `App#refresh_loop`, catching `StandardError`. This
is broad, but classes such as `Net::HTTP` have so many possible errors,
and if something goes wrong when running eternally, then might as well
try again after the polling interval.

Also move error-catching in `Listener::FTP#check` to `#check_all`, and
error-catching in `Listener::IMAP#check` to `#check_all`, so all such
catchings are done at a similar level.