Fix odbc:param_query/3 and odbc:param_query/4.

Issue: Calling odbc:param_query/3 and odbc:param_query/4 with unparameterized query string and empty parameters list causes error in pattern matching in function param_values/1.

This patch fixes this problem and allow to do things such as
 odbc:param_query(ConRef, "select * from some_table", []).
Merge branch 'maint-r15' into maint

* maint-r15:
  Update release notes
  vsn -> 1.3.1
  Update appup
  Traffic suite comments plus a minor match tweak
  Add a testcase
  Reverse swapped arguments
  Prepare release
  Fixed syntax appup ssh
Add testcases for odbc:param_query

Add testcases for odbc:param_query/3 and odbc:param_query4 with unparameterized query string and empty parameters list.
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.
Update diameter.cover
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"]}
Fix crash in the compiler when compiling element(2, not_a_tuple)
Test setelement(1, not_a_tuple, NewValue)
erl_interface: Fix ei_skip_term
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
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