Lwt_unix, xencat: allow buffer size to be specified everywhere

The client can supply a buffer size and 4 buffers will be created,
for both {read,write}*{vchan shared buffer, Lwt_io buffer}

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Read: drain the data before processing `Eof

This avoids truncating the datastream.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Merge pull request #33 from djs55/bufers

Allow buffer size to be specified, ensure buffers are drained before Eof
xencat: use Lwt_io.{read_into,write_from_exactly} instead of char-based I/O

This should reduce the number of Lwt threads created, from 2 per byte
to 2 per block.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
xencat: Lwt_io.read_into returns 0 on End_of_file

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Merge pull request #34 from djs55/bufers

xencat: use larger buffers at the high level