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 or an integer, which is
the type used by the inliner when introducing new variables.
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 'fh/shell_history_search' into master-pu
Merge branch 'kp/odbc-empty-params' into master-pu
Merge branch 'sal/ftp' into master-pu
Merge branch 'kp/odbc-oracle-autocommit-fix' into master-pu
Merge branch 'jv/cover-patches' into master-pu
Merge branch 'lh/forget-mnemosyne' into master-pu
Merge branch 'ta/fakefop' into master-pu
Merge branch 'ta/gitignore-hipe' into master-pu