Fix precision of record creation violation warnings

Before patch Dialyzer was reporting all the fields that were not subtypes
of the declared ones as incorrect. The correct violations are for the fields
whose intersection with the declared ones is empty.
Forbid local fun variables in Core Erlang guards

Local fun variables are disallowed in both Erlang and Core Erlang guards
but core_lint doesn't detect this kind of error, making the compilation
fail later in the BEAM assembly generation. A guard is added to only
allow #c_var{} terms where the name is an atom.
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 'sa/dialyzer-record-field-type/OTP-10681'

* sa/dialyzer-record-field-type/OTP-10681:
  Fix precision of record creation violation warnings
Merge branch 'dg/win_icon' 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 'jd/file-ram-opt-doc' into master-pu
Merge branch 'avi/fix-os-cmd-win' into master-pu
Merge branch 'id/snmp_optimization' 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
Merge branch 'ks/ssl-fix-most-unmatched_returns' into master-pu

Conflicts:
	lib/ssl/src/ssl_connection.erl
Merge branch 'fdm/fix_efile_drv_crash' into master-pu

Conflicts:
	erts/emulator/drivers/common/efile_drv.c
Merge branch 'fh/shell_history_search' into master-pu
Merge branch 'kp/odbc-empty-params' into master-pu
Merge branch 'sal/get_env' into master-pu
Merge branch 'sal/ftp' into master-pu