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.
Inside parentheses, line-initial commas align with the open parenthesis

For example:

  [ one
  , two
  , three
  ]

This does not affect coding styles that don't put commas at the
beginning of lines.
Add openssh_zlib compression type to ssh_transport

http://www.openssh.org/txt/draft-miller-secsh-compression-delayed-00.txt
Fix httpd config option 'erl_script_nocache'

This fixes the usage of the httpd configuration option
'erl_script_nocache', which got ignored before.

Attention: Before, the option 'script_nocache' also changed the
behavior for mod_esi, now it only affects mod_cgi.
Added a few input checks which prevent odbcserver crash if it's executed
and supplied incorrect data to stdin. A crash example:

echo -en "\x0\x0\x0\x1\x0" | ./odbcserver
Allow calls to ct:pal and ct:print even if CT is not running

Also make sure calls to ct:log and ct:pal don't cause crash
if test_server is not running (could happen during startup or
shutdown of CT).

OTP-11176
Add test

OTP-11176
Make the CT logger print to stdout if test_server is not running

OTP-11176
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
Minor correction of xml structure to conform to the DTD
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"
Add application:ensure_all_started/1-2

This adds two new functions to the application module that will
recursively look for missing dependencies to start the entire dependency
chain of a given application, and then the application itself, if
possible.

Its entire behavior is based on the currently existing 'start/1-2'
functions, which will report dependencies that have not yet been started
and other problems encountered. 'ensure_all_started/1-2' will use this
information the way any programmer would manually do it to automate the
process.

This kind of functionality, while not OTP-ish (releases do this start
sequence for the user), is still useful for testing purposes, quick
demonstrations, and programmers who do not wish or know how to use OTP
releases.

The function returns '{ok, StartedApps}' for all started or already
started applications (already started are omitted from the list), and
will return '{error, {AppName, Reason}}' on a failure to allow users to
rapidly know why the function failed.

Note that no specific check is made for direct or indirect circular
dependencies between applications, and these will make the function go
in an infinite loop.
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.
Add Fd usage in rb logging

rb was only accepting physical filenames as log file.
This patch allow rb to accept now any io_device, valid registered name,
except standard_error which is replaced by standard_io.
Creation of two new exported functions : rb:log_list/0-1
that print in log file if existing, otherwise on standard_io.
Add new functions documentation and tests in rb_SUITE.
Implement emulator netns support for TCP and UDP
Implement netns option for TCP and UDP