Slightly nicer error message when node start fails due to duplicate name

When starting up an Erlang node using a node name that is already in
use, the new node used to crash with output starting with this message:

{error_logger,{{2013,1,25},{16,0,42}},"Protocol: ~p: register error: ~p~n",["inet_tcp",{{badmatch,{error,duplicate_name}},[{inet_tcp_dist,listen,1,[.....

With this change, the first line in the output changes to:

{error_logger,{{2013,1,25},{16,40,41}},"Protocol: ~tp: the name foo@localhost seems to be in use by another Erlang node",["inet_tcp"]}
Provoke basic semantic errors to improve test coverage
Remove error handling for calling a BIF that is not auto-imported

All guards BIFs are auto-imported. That can be verified like this:

  [] = [{F,A} || {erlang,F,A} <- erlang:system_info(snifs),
                                 erl_internal:guard_bif(F, A),
                                 not erl_internal:bif(F, A)]

Therefore, calling a guard BIF in a guard without a module name
is always allowed (provided that there is not a local function or
an import with the same name), and therefore we can remove the
error reporting code. But keep an assertion so that we will find
out if any non-auto-imported guard BIFs are added in the future.
Test a few more kinds of illegal guard expressions
Remove the error message for future reserved keyword

There are currently no keywords reserved for the future.
Remove unused error message for importing an auto-imported BIF
Remove unused error message {bittype_mismatch,_,_,_}
Cover binary syntax errors and warnings
Test deprecating list_to_atom/1 to cover more code
Test calling deprecated or removed functions
Forbid multiple values in Core Erlang sequence arguments

It does not make sense to return multiple values from a sequence
argument and the Kernel Erlang passes can't cope with it.

The linting pass now knows how to detect this kind of defunct code and
the Core code folding pass is changed to not generate code like that
when optimizing away multiple-valued lets in effect mode.

Reported-by: José Valim
Add two tests for unused multiple values in effect context
beam_validator: Eliminate dialyzer warnings for unmatched returns

The assert_fls/2 and assert_type/3 functions both return the
Vst passed to them, but all callers ignore the return value.
Given the name of the functions, they are not expected to return
anything. Make it so by changing the return value to 'ok'.

There are two calls to bsm_get_context/2 used only to validate
that the match context is valid. Call bsm_validate_context/2
instead.

In bsm_validate_context/2, explicitly match the return value of
bsm_get_context/2 to '_' to make it clear that it is not used.
beam_receive: Eliminate dialyzer warning for unmatched return
compile: Eliminate warnings for unmatched return values
Bumped version number
Merge branch 'fredrik/tools/version_bumps'

* fredrik/tools/version_bumps:
  Bumped version number
Merge branch 'mh/duplicate_name_error_message/OTP-10797'

* mh/duplicate_name_error_message/OTP-10797:
  Slightly nicer error message when node start fails due to duplicate name
Merge branch 'nox/fix-seq-opt/OTP-10818'

* nox/fix-seq-opt/OTP-10818:
  Add two tests for unused multiple values in effect context
  Forbid multiple values in Core Erlang sequence arguments
Merge branch 'bjorn/stdlib/erl_lint-coverage'

* bjorn/stdlib/erl_lint-coverage:
  Test calling deprecated or removed functions
  Test deprecating list_to_atom/1 to cover more code
  Cover binary syntax errors and warnings
  Remove unused error message {bittype_mismatch,_,_,_}
  Remove unused error message for importing an auto-imported BIF
  Remove the error message for future reserved keyword
  Test a few more kinds of illegal guard expressions
  Remove error handling for calling a BIF that is not auto-imported
  Provoke basic semantic errors to improve test coverage