Remove the 80% file system free space check

This check never worked as intended for several reasons:

- Didn't take the existing file size into account, causing it to
  succeed on first startup but fail on next

- Sparse files were not handled, and can't be handled as we don't know
  where in the file a hole could be and whether truncation actually
  would change the number of blocks used at all

Fixes: #1343
Report error in STV_FileSize on empty file and no size specified
Don't allow relative sizes for stevedore file size
VFIL_fsinfo function to retrieve file system information
Use VFIL_fsinfo in STV_FileSize, and drop the old implementation
Bail out with arg error if specifying a size larger than the file
system size

This is to spot obvious typos
Add a VFIL_allocate function

This function makes sure that the filesystem can accomodate the file
of the given size.

Checks the filesystem free space up against the allocated blocks as a
sanity check.

Uses fallocate if available to preallocate the needed blocks.

If fallocate isn't available, it will write zero bytes if insist is true.
Remove default size from -sfile
Fix varnishd usage line order
Fix varnishd usage output typo
Make path mandatory in -sfile
Use VFIL_allocate in -sfile
Use VFIL_allocate in vsm_zerofile

Here we insist the file is completely allocated
Update the -sfile documentation