Pubsub changes and docs

I was finding occasional deadlocks and interleaved reads with the pubsub implementation. This PR seems to fix it. Here is a program that would always deadlock before but works with this patch:

````
#lang racket
(require "./main.rkt" racket/async-channel)

(define pool (make-connection-pool))
(define pubsubconn (lease-pubsub-conn pool))
(redis-connection? pubsubconn)
(pubsub-connection? pubsubconn)
(define foo-chan (make-subscribe-chan pubsubconn 'foo pool))
(sleep .1)
(define bar-chan (make-subscribe-chan pubsubconn 'bar pool))
(PUBLISH 'foo "Hello")
(PUBLISH 'bar "World!")

(async-channel-get foo-chan)
(async-channel-get bar-chan)
````

I also did some work on the docs and added an info.rkt file for the package system.
This sounds reasonable to me. I'm going to look through the redis documentation and code tonight to see if there's any less complicated way.