Silence a misleading warning with some comprehensions

When compiling comprehensions with generators which are foldable to
'true', a misleading warning is emitted by sys_core_fold because a
clause resulting from the compilation of the comprehension to Core
Erlang is not marked as generated by the compiler.

An example of such a comprehension is [ true || true ].
Bootstrap
Wrap eunit macros into begin ... end blocks

This makes typos such as missing commas between two assertions
(e.g. ?assert(true) ?assert(true)) syntax errors instead of silently
compiling and failing with a badfun error at runtime.

This won't break any existing code as parenthesed expressions and blocks
have the same precedence and none of these macros can be used as patterns.
Restrict inlining of local fun references

Local fun references look like plain old variables in the Core Erlang
AST but should not be treated as such. Inlining of such expressions is
now restricted to application contexts as a local fun reference should
never occur in a guard.

This is not perfect as it forbids inlining in some safe situations, but
that is still better than a compiler crash.
Added primary bootstrap
run_erl: Redirect standard streams to /dev/null

Like in epmd and erlexec. Otherwise "run_erl" fails on some platforms
when called with the "-daemon" option, printing this error:

  "Cannot dup"
Comment tweaks
Ensure DWR isn't sent immediately after DWA

Having the peer_fsm process answer DWR meant that watchdog timer expiry
could result in an outgoing DWR despite the fact that an incoming DWR
was just answered. Having the watchdog process answer avoids this.

diameter_peer_fsm must be loaded before diameter_watchdog.  It's
possible for one incoming DWR to go unanswered but a subsequent DWR will
be answered so no harm is done.
tests: Relax receive_SUITE time constraint
tests: Refactor away ?line macro
tests: Relax system_profile_SUITE scheduler test
snmp: Silence debug in tests
os_mon: Relax disksup_SUITE api test
os_mon: Refactor disksup_SUITE

Notably, remove ?line macro.
os_mon: Fix freebsd diskspace queries

Use 'df -k -l' to query FreeBSD about diskspace on local disks.
Previously 'df' -k -t ufs' was used but this will not handle zfs
disks. Just use '-l' instead of listing potential filesystems.
os_mon: Fix openbsd diskspace queries

Use 'df -k -l' to query OpenBSD about diskspace on local disks.
Same reasoning as for FreeBSD - additional filesystems without
listing them all.
os_mon: Relax disksup_SUITE test even more

Capacity can be zero on certain filesystems.
Remove reported mountpoints with zero capacity during tests since
these reports false positives.
Fix indentation of User switch command help in Erlang shell
Update io:prompt() type

Functions that expect an io:prompt() also accept binaries and
iolists as arguments. Therefore its type has been updated to
reflect the same types accepted by other io functions.
Update filelib.erl typespecs

Most functions in filelib support binaries as arguments but
that was not reflected in the typespecs.

The types filename_all() and dirname_all() were introduced
to mimic file:name_all().