not pretty, but now we have a byte array backed bit stream.  It chunks the byte array into a list of byte arrays to efficiently handle expanding the size.  Lots of code cleanup required, but this seems to be the first working version so pushing to have it versioned.