Make work for more unix like OSes except openbsd and plan9

Openbsd doesn't appear to have O_DIRECT