- intoduce concept of IoEngineKind to VirtualFile
- introduce a global OnceCell that contains the IoEngineKind
- introduce OpenOptions that enum-dispatches to the respective
IoEngineKind's `OpenOptions` type.
- dispatch the currently supported VirtualFile operations
(open, read) through the IoEngineKind
- add a pageserver config file variable, defaulting to the current StdFs
=> tokio-epoll-uring is off by default
- cover both ioengines in CI `cargo test` runs
- run all the regression tests with both engine kinds (doubling the
amount of regression tests per run in the interest of maximizing
tokio-epoll-uring usage before it hits production)
---------
Co-authored-by: Alexander Bayandin <alexander@neon.tech>