Rename BLOCK to IO; extract to module S; add MemoryIO

The MemoryIO should be handy for simple test cases and
synthesising simple filesystems in-heap.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>