Move (most) Redis communication to a controller.

This allows us to specify what to do on connection failure (1) in one
place, and (2) on a per-method basis.

Unlike previous approaches, I have demonstrated that wpull will continue
even when the connection to the Redis server is severed.