Two fixes to avoid warnings of incompatibility with 7.10:

* PiReader is now an instance of Applicative.

* 'join' is a really bad name for a function that is almost, but
  not quite, the standard 'join'. Now called 'joinWithDelim'.