Add file:allocate/3 operation

This operation allows pre-allocation of space for files.
It succeeds only on systems that support such operation.

The POSIX standard defines the optional system call
posix_fallocate() to implement this feature. However,
some systems implement more specific functions to
accomplish the same operation.

On Linux, if the more specific function fallocate() is
implemented, it is used instead of posix_fallocate(),
falling back to posix_fallocate() if the fallocate()
call failed (it's only supported for the ext4, ocfs2,
xfs and btrfs file systems at the moment).

On Mac OS X it uses the specific fcntl() operation
F_PREALLOCATE, falling back to posix_fallocate() if
it's available (at the moment Mac OS X doesn't provide
posix_fallocate()).

On any other UNIX system, it uses posix_fallocate() if it's
available. Any other system not providing this system call
or any function to pre-allocate space for files, this operation
always fails with the ENOTSUP POSIX error.
erts: Fix xcomp configure for fallocate

* Default to 'no' for finding a working fallocate
Update preloaded prim_file.beam
Merge branch 'fdm/file-allocate/OTP-10680'

* fdm/file-allocate/OTP-10680:
  Update preloaded prim_file.beam
  erts: Fix xcomp configure for fallocate
  Add file:allocate/3 operation
Add erlang:float_to_list/2

Text representation of a float formatted using given options.

This BIF solves a problem of float_to_list/1 that doesn't allow
specifying the number of digits after the decimal point when
formatting floats.

    float_to_list(Float, Options) -> string()

    Float = float()
    Options = [Option]
    Option = {decimals, Decimals::integer()} |
             {scientific, Decimals::integer()} |
             compact

Returns a string which corresponds to the text representation of
a `Float` formatted using given options.

When decimals option is specified the returned value will contain
at most `Decimals` number of digits past the decimal point.
When `compact` option is provided the trailing zeros at the end
of the list are truncated (this option is only meaningful together
with the `decimals` option). When `scientific` option is provided,
the float will be formatted using scientific notation with
`Decimals` digits of precision. If `Options` is `[]` the function
behaves like `float_to_list/1`.
Merge branch 'dg/win_icon' into master-pu
Merge branch 'dw/crypto-hmac-enhancements' into master-pu
Merge branch 'fdm/windows_file_share_delete' into master-pu
Merge branch 'lf/snmp-tuple-fun' into master-pu
Merge branch 'lf/snmpm_user_default' into master-pu
Merge branch 'nox/promote-inline_list_funcs' into master-pu
Merge branch 'jd/file-ram-opt-doc' into master-pu
Merge branch 'avi/fix-os-cmd-win' into master-pu
Merge branch 'ta/werror-return-type' into master-pu
Merge branch 'sa/dialyzer-record-field-type' into master-pu
Merge branch 'id/snmp_optimization' into master-pu
Merge branch 'nox/rm-reverse-eta-conversion' into master-pu
Merge branch 'sk/odbc64' into master-pu
Merge branch 'fdm/fix_file_driver_memory_leak' into master-pu
Merge branch 'ks/kernel-cleanup' into master-pu