Change preprocessors to deal only with ByteStrings

This commit also removes the working directory from the Herringbone
datatype, since it's no longer needed.

This fixes the file locking issue when preprocessing.