Start making 'module type FS' a superset of 'module type DEVICE'

* rename 'openfile' to 'connect'
* rename 'type block_device' to 'type id'

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
connect: return (`Error (`Format_not_recognised reason)) if device is unformatted
Rename 'type fs' to 'type t'; rename 'make' to 'format'

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Stop exposing Path.t in the interface

Now all the path operations take strings, which are interpreted as

 /foo/bar/baz

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Remove the 'type file' from the interface

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Remove Path.t from the 'type error'

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Use 'type page_aligned_buffer' rather than Cstruct.t

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Use mirage-types V1.FS

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Merge pull request #12 from djs55/improve-signatures-more

Use the proposed mirage-types module type FS