batch:  header file* END_OF_BATCH

header:  VERSION HEADER_LENGTH BATCH_SIZE FOUR_BITS

VERSION:  8 bits specifiying the packing algorithm, currently the character 'b'.

HEADER_LENGTH:  An eight bit quantity representing the length of the header,
	currently 5.

BATCH_SIZE:  A 20 bit number specifying the number of bytes in the batch.

FOUR_BITS:  4 bits reserved for future expansion.  Currently zero.

file:  NEWS_TYPE news_header text
|      MAIL_TYPE text
|      ACK_TYPE text

NEWS_TYPE, MAIL_TYPE, and ACK_TYPE:  2 bit values indicating the type of file.

text: VARYING_LENGTH_CHARACTER* EOF_MARK

VARYING_LENGTH_CHARACTER:  Characters are represented using bits sequences
	of differing lengths.  The lengths are chosen so that the most
	frequently occurring characters have the shortest length.

EOF_MARK:  This is a bit sequence marks the end of a file.

news_header:  USE_OLD_RELAY header_line END_OF_HEADER

USE_OLD_RELAY:  a single bit; set if this news item has the same relay
	version as the preceeding news item.

header_line:  SUBJECT nltext
|             RELAY_VERSION nltext
  and so on for each type of header

