Refactor the fallocate call.

@sueloverso, here's a (very lightly tested) branch to refactor the fallocate call.
In all of these cases, for _std_, _sys_ and _posix_ we lose any error and always error with ENOTSUP.  I don't think we want to always drop a real error like ENOSPC.