Added support for using fcntl with F_PREALLOCATE on Darwin systems for file preallocation

Semi-undocumented feature which can be deducted from studying <sys/fcntl.h> on Mac OS X systems. Tested to work on Mac OS X 10.6 and 10.7. No major differences seem to break this with Mac OS X 10.5 although the has not been tested.