add {active,N} socket option for TCP, UDP, and SCTP

Add the {active,N} socket option, where N is an integer in the range
-32768..32767, to allow a caller to specify the number of data messages to
be delivered to the controlling process. Once the socket's delivered
message count either reaches 0 or is explicitly set to 0 with
inet:setopts/2 or by including {active,0} as an option when the socket is
created, the socket transitions to passive ({active, false}) mode and the
socket's controlling process receives a message to inform it of the
transition. TCP sockets receive {tcp_passive,Socket}, UDP sockets receive
{udp_passive,Socket} and SCTP sockets receive {sctp_passive,Socket}.

The socket's delivered message counter defaults to 0, but it can be set
using {active,N} via any gen_tcp, gen_udp, or gen_sctp function that takes
socket options as arguments, or via inet:setopts/2. New N values are added
to the socket's current counter value, and negative numbers can be used to
reduce the counter value. Specifying a number that would cause the socket's
counter value to go above 32767 causes an einval error. If a negative
number is specified such that the counter value would become negative, the
socket's counter value is set to 0 and the socket transitions to passive
mode. If the counter value is already 0 and inet:setopts(Socket,
[{active,0}]) is specified, the counter value remains at 0 but the
appropriate passive mode transition message is generated for the socket.

This commit contains a modified preloaded prim_inet.beam due to changes in
prim_inet.erl.

Add tests for {active,N} mode for TCP, UDP, and SCTP sockets.

Add documentation for {active,N} mode for inet, gen_tcp, gen_udp, and
gen_sctp.
Update version numbers for R16B03 development
Merge branch 'maint'
Merge branch 'sv-socket-active-n'

OTP-11368

* sv-socket-active-n:
  Update preloaded
  add {active,N} socket option for TCP, UDP, and SCTP
Fix the typespec for the inet:ifget/2 and inet:ifget/3 return value
Add more SCTP errors as described in RFC 4960
Merge branch 'maint'
Fix gen_sctp doc typo

'one-to-may' should be 'one-to-many'
Merge branch 'maint'
Merge branch 'ates/sctp_errors_fix/OTP-11379' into maint

* ates/sctp_errors_fix/OTP-11379:
  Update primary bootstrap
  Add more SCTP errors as described in RFC 4960
Merge branch 'maint'
Implement prim_inet:socknames/1,2 and prim_inet:peernames/1,2
Implement inet:socknames/1,2 and inet:peernames/1,2
Write testcases for inet:socknames and inet:peernames
Fix rpc multicall sample code
Add os:unsetenv/1

New BIF os:unsetenv/1 which deletes an environment variable and
returns 'true'.

Does not change any old functionality.

Calls the libc function unsetenv(3) on UNIX and
SetEnvironmentVariableW(key, NULL) on Windows. The unicode support
is the same as for os:getenv and os:putenv.
Fix testcases for FreeBSD 9.1
Fix testcase indentation
Merge branch 'maint'
Fix bug with backslash in erl_prim_loader:normalize/1

This function normalizes a path:

* convert atoms to strings
* flatten strings
* convert backslash to a forward slash

The bugfix is to only convert backslashes to forward slashes on
windows and not on any other platforms.