Partial implementation of close

  - Lwt_io.close on the input side will invoke 'close' on the vchan
  - Reads or writes after a close should return `Eof, which becomes a 0-length read/write beneath the Lwt_io channel (hopefully it gets the hint)