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.
Is this commented because of the occasional race condition you previously mentioned? It no longer happens right, so I can uncomment?