robots.txt parser now returns MonadPlus m => m Thing,

so we can use m to indicate some sort of parse error.

Also added a bunch of low-level text commands