Export the edge/0 type from the digraph module
erts: Fix race in ptab that can cause PID mix-ups

Since: R16B01

Symptom: A spawned process may get the same PID as an existing
process. The new process will "steal" the PID and make the old process
unreachable through the PID.
The problem also applies to port identities but has only been seen
for processes.

Conditions: SMP emulator with at least two scheduler threads. Rapid
spawning and termination of a large number of processes. A small
number of free slots in the process table will also increase the risk
for this bug.

Workaround: Use command line options "+P legacy" and "+Q legacy"

Cause: The race happens if a process terminates and gets stalled while
releasing its process table slot. The stall has to be so long (due to OS
preemptive scheduling most probably) for other schedluer threads to
consume all other free slots for newly spawn processes.

Fix: Write invalid-markers in the free-pid-table and do atomic exhange
operations in retry-loops to make sure each thread gets a unique PID.
ssl: Setopts during renegotiation caused the renegotiation to be unsuccessful.

If calling setopts during a renegotiation the FSM state might change
during the handling of the setopts messages, this is now handled correctly.
Merge branch 'tomaon/fix-typo-httpd-doc/OTP-11226' into maint

* tomaon/fix-typo-httpd-doc/OTP-11226:
  fix: typo, inets/doc/src/httpd
Merge branch 'maint'
Merge branch 'lukas/erts/ethr_smp_req_native_compiletime/OTP-11196' into maint

* lukas/erts/ethr_smp_req_native_compiletime/OTP-11196:
  Bailout if no native implementations are found
Merge branch 'maint'

* maint:
  Bailout if no native implementations are found
Merge branch 'lukas/smoketests/OTP-11221' into maint

* lukas/smoketests/OTP-11221:
  Add smoke tests
Merge branch 'maint'

* maint:
  Add smoke tests
Merge branch 'lukas/erts/etp-thr/OTPO-11220' into maint

* lukas/erts/etp-thr/OTPO-11220:
  erts: Create gdb pything script for thread listing
Merge branch 'maint'

* maint:
  erts: Create gdb pything script for thread listing
etp: Do not use name as beam.smp is the name on Linux
Merge branch 'lukas/erts/etp-thr/OTPO-11220' into maint

* lukas/erts/etp-thr/OTPO-11220:
  etp: Do not use name as beam.smp is the name on Linux
Merge branch 'maint'

* maint:
  etp: Do not use name as beam.smp is the name on Linux
Merge branch 'olgeni/erl_driver-man-fixes/OTP-11227' into maint

* olgeni/erl_driver-man-fixes/OTP-11227:
  Misc. corrections for erl_driver(3)
Merge branch 'maint'
ssl: Revert faulty header option fix

The code was changed in the belife that it made it inet compatible.
However the testing is a bit hairy as the inet option is acctualy
broken, now the tests are corrected and the header option should work
in the same broken way as inet again, preferably use the bitsyntax
instead.
erts: Do not enable TRACE_SILENT when testing a ms
stdlib: Include file:all datatypes in filelib
Merge branch 'lukas/r16b02/docfixes' into maint

* lukas/r16b02/docfixes:
  stdlib: Include file:all datatypes in filelib