Fix up how Read() errors were processed where appropriate.
Use os.MkdirAll() for creating the pt state directory.