Initial commit.

Most of this work was ported from my original private attempt at making a
Redis role.