Guest needs proper storage flushing support in order to make sure data
persists on the storage media. For RAM storage target, we can simply
return success with no-op. Otherwise, we submit flush request to blockif
behind the scene.
Also we need to indicate that volatile write cache is presented.
For get feature admin requests we always return 1 currently.
In future, we may indicate that volatile write cache is not enabled if
the underlying file is opened with O_SYNC.
The changes are simply tested on a FreeBSD guest and a Linux guest, with
debug outputs from bhyve. Also tested with nvme-cli flush.