mirage: delay evaluation until we know the `MODE`

specifically, set the mode before doing anything else in `Main.configure`, and
thread a `()` through `Mirage.kv_ro_of_fs` and `Mirage.block_of_file` so that
they don't get evaluated when `Mirage` is opened in `Main`. If we don't, then
`!mode = `Unix _` when `Block` is first instantiated and so we end up with
`mirage-block-unix` in the `libraries` and `packages` lists, which breaks the
build.

(I think.)