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.
Put wpull version in user agent.

Handy for diagnostics, maybe.
Pipeline: print out ID on startup.
Bump pipeline version.
Merge branch 'pipeline-next'

Conflicts:
	pipeline/pipeline.py
Bump pipeline version.  Again.