CAR-1442: Allow opening read-only VDIs without O_DIRECT

Teach tap-ctl open the "-D" command-line argument.  When "-D" is given,
read-only VHDs are opened without O_DIRECT.

Opening VDIs without O_DIRECT allows the kernel's page to be used, potentially
improving performance.  To prevent the kernel doing readahead and negating some
of the performance benefits of caching, tell the kernel that access to the VDI
fd is random (this makes it not do prefetching, just like if O_DIRECT were
used).

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Reviewed-by: Thanos Makatos <thanos.makatos@citrix.com>

GitHub: closes #80 on xapi-project/blktap