cover now relies on the compile info to find file sources

Prior to this commit, cover relied on a simple heuristic that
traverses directory from the beam file to find a source file.
The heuristic was maintained with this patch but, if it fails,
it fallbacks to the source value in the module compile info.

In order to illustrate how it works, one of the tests that
could not find its source now passes successfully (showing the
source lookup is more robust).
Ensure cover keeps the proper file source

Whenever a module is compiled via compile:forms/2,
the source is set to current directory unless a source
option is passed to compile. This commit ensures that
cover passes the source information to compile:forms/2
to ensure the source won't be modified after the module
is cover compiled.
Fix a bug in cover when used with no_auto_import

Cover was rewriting guard clauses as non-remote calls.
That said, if a guard contains erlang:is_binary(Binary),
Cover was incorrectly removing the erlang prefix which
lead to errors if is_binary is not auto imported.

This commit keeps the abstract format as it is.
Fix crash in the compiler when compiling element(2, not_a_tuple)
Test setelement(1, not_a_tuple, NewValue)
compiler: Use the literal pool for floating point constants

The BEAM loader will put floating point constants into the
literal pools for the module, but it will not check for duplicates.
We can do much better by having the compiler use the literal
pool for floating point constants.
beam_type: Convert integer to float at compile time

In code such as:

   X / 2

the following code would be output from beam_type for the division:

    {fconv,{x,0},{fr,0}}.
    {fconv,{integer,2},{fr,1}}.
    fclearerror.
    {bif,fdiv,{f,0},[{fr,0},{fr,1}],{fr,0}}.

That is, the integer 2 would be converted to the float 2.0 at
run-time by "{fconv,{integer,2},{fr,1}}". Make sure that we do
the conversion at compile time.

Noticed-by: Richard O'Keefe
kernel docs: Remove references to specs_packages.xml
Update version numbers
Merge branch 'bjorn/compiler/float/OTP-10788'

* bjorn/compiler/float/OTP-10788:
  beam_type: Convert integer to float at compile time
  compiler: Use the literal pool for floating point constants
Merge branch 'bjorn/compiler/crash/OTP-10794'

* bjorn/compiler/crash/OTP-10794:
  Test setelement(1, not_a_tuple, NewValue)
  Fix crash in the compiler when compiling element(2, not_a_tuple)
Merge branch 'bjorn/remove-packages/OTP-10348'

* bjorn/remove-packages/OTP-10348:
  kernel docs: Remove references to specs_packages.xml
Update primary bootstrap
Merge branch 'jv/cover-patches/OTP-10778'

* jv/cover-patches/OTP-10778:
  Fix a bug in cover when used with no_auto_import
  Ensure cover keeps the proper file source
  cover now relies on the compile info to find file sources