Add a dependency on mirage-types BLOCK interface

This adds (to the xen backend only atm) an OS.Block module which contains a registration mechanism for modules which implement OS.Block.S, which is the mirage-types BLOCK signature with some of the abstract types made concrete.

For implementation info, check out:

* [mirage/mirage-types#1]

and the tests are in:

* [mirage/mirage-skeleton#15]
* [mirage/ocaml-xen-block-driver#8]