Move no-O_DIRECT fallback to vhd_open

It appears that libvhd always assumes that the underlying filesystem supports O_DIRECT. While vhd2raw would fallback, other operations such as 'modify', etc would not.