KV_RO: read takes offset, length and returns a buffer list

This makes KV_RO.read the same as FS.read
KV_RO type error is now a polymorphic variant, as is the convention
Include KV_RO as a submodule within the module type FS

Unfortunately 'include KV_RO' fails because of duplicate definitions
of the "type 'a io"

Did I miss some module include magic?
Now featuring destructive substitution!
FS: only include DEVICE once (through KV_RO)
FS: textually include KV_RO, rather than 'module type include' it

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

Include KV_RO inside FS?