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.
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"]}
erl_interface: Fix ei_skip_term
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
fix bug in OtpErlangTuple constructor

The elems field would remain unitialized if the count parameter is zero in constructor
jinterface: fix finding cookie file on windows

Jinterface uses System.getProperty("user.home") to locate the user's home
and the cookie file. On Windows, the result might be different than the
value used by Erlang, which looks first to the HOMEDRIVE and HOMEPATH
variables.

The fix makes jinterface use the same logic.
Add a new function code:get_mode() can be used to detect how the code servers behaves

Rationale:
    Some applications (like erlide) have code to be loaded dynamically on a
    node. It may be slow to load everything upfront every time, so if the
    node is in interactive mode, we would like to just append to the load
    path. Currently, there is no direct way to detect if the node is running
    in embedded mode or not so that we can do the right thing.
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
Added name prefix to code.xml