Parse the protocol using Blkproto.Protocol.of_string
Remove dead code (string_of_segs)

Plus the function Blkproto.Req.string_of_segs also exists.
Make vhddisk a phony target in the Makefile, defer to obuild to know for sure
Replace ad-hoc xenstore keys with a DiskInfo.t
Normalise indenting

(yes I did use spaces)
Read a RingInfo rather than ad-hoc keys
Use the new State.* APIs
Write the backend state = Connected synchronously
Attempt to simplify the connection logic