erts: getsockname is not allowed on non-bound sockets

This only produces an error on win32, but should not really be called
on *nix either.
erts: Fix ub in list_to_integer and bignum div
First attempt at adding a skel for -spec's

New skel adds a -spec for the function after point.
configure.in: fix test == bashism
Merge branch 'rickard/eager-check-io/OTP-12117' into maint-r16

* rickard/eager-check-io/OTP-12117:
  Introduce support for eager check I/O scheduling
Prepare release
ssh: Add ptty_alloc/[2,3]
ssh: Add pty_alloc request to ssh:shell/[1,2,3]
Make sure code links are generated even if undefined macros exist

OTP-11766
Fix ssh_sftp:start_channel timeout

The {timeout, Timeout} option passed to ssh_sftp:start_channel is not
applied to the early phases of the SSH protocol. For example, if the
remote server fails to respond after the "hello" then the call will hang
for as long as the server keeps the TCP connection alive.

This patch passes the Timeout through to ssh:connect. In case the
timeout occurs during these phases, {error, timeout} is returned.
Fix "-smp disable" for emulator with dirty schedulers

Running "erl -smp disable" on an emulator built with dirty scheduler
support caused problems such as segmentation violations and emulator status
line outputs containing garbage. For example:

    $ erl -smp disable
    Segmentation fault (core dumped)

and:

    $ erl -smp disable
    Erlang/OTP 17 [DEVELOPMENT] [erts-6.2] [source] [64-bit] [ds:10:4297895689:4299948152] [async-threads:280]

This problem also caused the emulator smoke_test_SUITE to hit these same
problems if run in an emulator started with the "-smp disable" option.

Fix this segmentation violation by ensuring that dirty scheduler
information is printed in the status line only when the emulator is
compiled with ERTS_SMP enabled.

With this fix in place, the smoke_test_SUITE now passes when the "-smp
disable" option is used, and the emulator status line prints correctly for
both "-smp enable" and "-smp disable":

    $ erl -smp enable
    Erlang/OTP 17 [DEVELOPMENT] [erts-6.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:10] [kernel-poll:false]

and:

    $ erl -smp disable
    Erlang/OTP 17 [DEVELOPMENT] [erts-6.2] [source] [64-bit] [async-threads:10] [kernel-poll:false]
Fix a typo in the mnesia documentation
ssh: Add basic ptty_alloc tests
erts: Fix bug in beam_ranges

Symptom: VM on OSX (darwin11.4.2) with +Meamin running sasl tests,
crashing when init:reboot() does erlang:purge_module(installer).

Problem: Off-by-one bug in beam_ranges:find_range, returning the wrong
range if the 'end' of one module is the 'start' of the next. This is only
possible if using sys_alloc (+Meamin) as our own allocators always put
block headers between allocated payload data.
erts: Mend run_erl to set windows size of terminal sent from to_erl

Need to include sys/ioctl.h for TIOCSWINSZ to be defined.

Seems this was broken when refactoring run_erl for OSE in OTP 17.0.
ssh: Correct typo of renegotiate that could cause rekeying to fail
Merge branch 'ia/ssh/pty-request/OTP-11542' into maint

* ia/ssh/pty-request/OTP-11542:
  ssh: Add basic ptty_alloc tests
  ssh: Add pty_alloc request to ssh:shell/[1,2,3]
  ssh: Add ptty_alloc/[2,3]
Merge branch 's1n4/mnesia_doc_typo' into maint

OTP-12278

* s1n4/mnesia_doc_typo:
  Fix a typo in the mnesia documentation
Merge branch 'tuncer/configure.in-bashism' into maint

OTP-12280

* tuncer/configure.in-bashism:
  configure.in: fix test == bashism
Expose NIF version

This patch allows checking for NIF API version in a way similar to
driver version. E.g. by calling erlang:system_info(nif_version).

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>