Make cerl -valgrind work with quoted spaces in command line
beam_makeops: Eliminate a deprecation warning

Perl 5.16.1 (and perhaps other versions) issues the following
warning:

  defined(@array) is deprecated at utils/beam_makeops line 1714.
        (Maybe you should just omit the defined()?)

for the following line:

$prev_last = pop(@{$gen_transform{$key}})
	if defined @{$gen_transform{$key}};   # LINE 1714

The documentation for "defined" says that its use on hashes and
arrays is deprecated and that it may stop working in a future
release.

Simply removing "defined" (as suggested by the warning message)
will not work, as there will be an error when trying to use an
undefined value as an array reference:

  Can't use an undefined value as an ARRAY reference at
  utils/beam_makeops line 1714.

What we must do is to check whether $gen_transform{$key} is
defined before trying to use it as an array reference.

Noticed-by: Tuncer Ayaz
erts, heart: Ensure erl_crash.dump is written

When a crash dump is about to be written and we have
heartbeat enabled on a system. We need time to write it
before heart explicitly kills the beam.
heart: Refactor heart debugging
erts: Search for heart in ports that are alive
test: Refactor away ?line macros in heart_SUITE
erts: Change ERL_CRASH_DUMP_SECONDS behaviour

Not setting ERL_CRASH_DUMP_SECONDS will now terminate beam
immediately on a crash without writing a crash dump file.

Setting ERL_CRASH_DUMP_SECONDS to 0 will also terminate beam
immediately on a crash without writing a crash dump file, i.e. same as not
setting ERL_CRASH_DUMP_SECONDS environment variable.

Setting ERL_CRASH_DUMP_SECONDS to a negative value will let the beam wait
indefinitely on the crash dump file being written.

Setting ERL_CRASH_DUMP_SECONDS to a positive value will let the beam wait
that many seconds on the crash dump file being written.

A positive value will set both an alarm in beam AND a heart timeout for restart
if heart is running.

This is due to the change of 'heart' behavior when 'heart' is
listening for a crash.
test: Add test for heart restart on crash

 * node_start_immediately_after_crash tests that heart restarts
   beam upon a crash and will not generate a crash dump
test: Add test for heart restart on crash

* node_start_soon_after_crash tests that heart restarts
  beam upon a crash and only lets beam write its crash
  dump for a certain amount of time
doc: Document ERL_CRASH_DUMP_SECONDS behaviour

* heart reboot behaviour
* erl_crash.dump file write behaviour
beam_makeops: Turn on warnings and eliminate existing warnings
compiler: Run testcases in parallel

Run testcases in parallel will make the test suite run slightly
faster. Another reason for this change is that we want more testing
of parallel testcase support in common_test.
Correct typo in test suite name

It should be beam_except_SUITE, since it tests the beam_except
module (introduced in 726f6e4c7afe8ce37b30eedbebe583e7b9bfc51b).
test_server_ctrl: Consistently use set_io_buffering/1

Since we will want to change the implementation of I/O buffering in
a future commit, make sure that all updates of the buffering state
is done by calling set_io_buffering/1.
Introduce is_io_buffered/0 to somewhat improve readability

Note that there are some more direct use of:

  get(test_server_common_io_handler)

that cannot be replaced with a call to is_io_buffered/0.
Clean up initialization of parallel test cases
erts: Fix lock check assertion
erts: Fix crash dump write to port hack

More future proof with R16
test: Relax timeouts for heart_SUITE

Timeouts were set too narrow and timedout on slow machines
Introduce test_server_io and test_server_gl