More backends

Mostly silly stuff. When I wrote a tutorial on how to write a redis backend this happened. It was easy, so I just chucked it in a commit with another inane backend. Also, test generators are fun. Incidentally fixes 
#3.