Update version number
Merge branch 'maint'
Merge branch 'maint'
Update appup files for kernel and stdlib for OTP R16

The appup files shall allow upgrade from two major versions back,
i.e. for R16 they shall match back to R14. They shall no longer match
for R13.
Merge branch 'maint'
Merge branch 'maint'
Merge branch 'maint'

* maint:
  Correct two contracts in gen_sctp.erl
beam_load.c: Allow stubs for BIFs

We want to be able to write type specifications for BIFs in the same
way as for any other function. Currently, the type for BIFs need
to be described in erl_bif_types.

To avoid extending the compiler and Dialyzer with special directives
for providing specifications for BIFs, we have decided to let the
loader accept a local definition for a function which exists as a
BIF. As an example, here is how a stub for lists:reverse/2 can be
defined:

-export([reverse/2]).

-spec reverse([term()], term()) -> [term()].

reverse(_, _) ->
    erlang:nif_error(undef).

Essentially, the loader will discard the local definition of reverse/2.
Other functions in the same module must *not* do local calls to a BIF
stub. If a local call to a BIF is found, the loader will refuse to load
the module. That is, the following call is not allowed:

reverse(List) ->
    reverse(List, []).

but the following is:

reverse(List) ->
    ?MODULE:reverse(List, []).

A few words about the implementation.

It turns out to be too complicated to actually discard the BIF
stubs. Although it would be possibly with some jiggery pokery in
ops.tab, the code would be difficult to maintain and it could slow
down loading of modules that don't define BIFs (which are almost
all modules).

Therefore, the stub functions are kept in the loaded code, but
their names in the func_info instruction are invalidated so that
module_info(functions) can filter them out.
Merge branch 'maint'

* maint:
  Look for port in priv/bin/arch/ as well as priv/bin/
  Fix on_load handling in modules loaded by code:load_binary/3
Merge branch 'bjorn/erts/bif-stubs/OTP-9861'

* bjorn/erts/bif-stubs/OTP-9861:
  beam_load.c: Allow stubs for BIFs
  beam_load.c: Don't show unnecessary context in errors
  beam_load.c: Remove useless call to next_heap_size()
  beam_load.c: apply/2 does not need a special case
Move types and specs from erl_bif_types.erl to modules
Merge branch 'maint'

* maint:
  Use os_mon to get system information
Merge branch 'hb/bif_specs/OTP-9862'

* hb/bif_specs/OTP-9862:
  Move types and specs from erl_bif_types.erl to modules
Merge branch 'maint'

* maint:
  erlang.xml: Fix a few typos and grammatical errors
  debugger tests: Increase time trap timeout
  fprof_SUITE: Skip create_file_slow/1 if libraries are native
  etop_SUITE: Skip a test case if libraries are native-compiled
  Skip all inviso test cases if libraries are native-compiled
  erl_prim_loader_SUITE: Handle native-compiled erl_boot_server
  re_SUITE: Skip error_handling/1 if 're' is native code
  shell_SUITE: Handle different EXIT reasons from native code
  sofs_SUITE: Handle different EXIT reasons from native code
  erl_eval_SUITE: Skip test of parameterized modules if native code
  trace_port_SUITE: Skip test cases if 'lists' is native-compiled
  call_trace_SUITE: Skip test cases if libraries are native-compiled
Correct dializer errors in erlang.erl and others

New errors found when adding specs to erlang.erl and
removing them from erl_bif_types are examined and corrected.
Some errors was due to faulty specs, while others were actual
errors in the code using BIF's.
hipe: Fix address_to_mfa in hipe loader

Strange that the effect of this bug is not more fatal.

Kudos to Fabian and Tom for spotting this one.
hipe,erts: Add DEBUG support with MFA's in stack descriptors
Merge branch 'maint'
Merge branch 'maint'
Merge branch 'maint'

Conflicts:
	erts/preloaded/ebin/prim_inet.beam