Move foo into data directory
Make stream-seq not read past the end of a stream

Before, stream-seq would continue reading off a stream (taking
repeatedly the value -1).  It would try casting to char and throw an
exception.  Now, it only takes while the values are positive and then
maps to char.
Compress with gzip!

If the user agent accepts gzip encoding, sends the data through a gzip
stream instead of a regular stream when writing.
add id's to individiual posts

add the post's database object id into the table row, so that it can be
referenced with a fragment.  add-bb-entry also generates the objectid
and returns it.
Move bulletin board code into its own namespace

adds namespace lehs.demo.bb for the bulletin board.  Also improves upon
the look of the bb table (via an update to foo.css) and alternating the
table row class field to give it alternating dark/light colored rows.
Finally, sets the location header of the response to /d#<objectid>.
Fix accept-gzip? and gen-post-response

Gen-post-response wasn't associating with the map returned by the
resource function (if it returned a map instead of a string).  also
fixed the regular expression in accept-gzip? to accept content codings
without a qvalue.
refactoring

foo was moved to a /data directory.  Also refactors bulletin board code
out.
add unit test for accept-gzip