fix reading compressed binary terms from Java

Larger compressed binary could not be decoded inside JInterface.

- applied a patch posted on erlang-questins in September 2009
  http://erlang.org/pipermail/erlang-patches/2009-September/000478.html
-> extended this patch as it alone was not enough to fix the bug

Problem was that when reading from an InputStream, you can only specify a maximum number of bytes to read. Java doesn't quarantee that it actually reads this many bytes - it could be less!
This patch now reads up until the expected size bytes. If there are more than expected, the actual number of available bytes is not printed (we probably shouldn't read the additional bytes, security-wise - the erlang external byte representation is broken in this case though).
add (de)compress roundtrip tests with larger values
Fix printing the empty binary at depth 1 with ~W

A case clause ordering problem is causing the empty binary to be
printed as <<...>> rather than the correct <<>> when using ~W with a
depth of 1. Add new tests to verify correct behaviour.
Make cerl -valgrind work with quoted spaces in command line
Have supervisor send errors up the chain

If a child fails to start, supervisor relies upon error_logger which does not
work when IO is inhibited. Instead pass the error up the chain and let someone
else use a proper Reason for any possible printouts.
SCTP test case with socket active options once and true

Test case for testing socket option {active, true} after
association is peeled off.
Set new peeled off SCTP socket to nonblocking socket

Peeloff feature of SCTP association creates a new socket which is not
set to nonblocking.
Function for receving data is shared with udp which has a default
loop when reading packets which is set to 5.
Calling the receive function more then once, is fine as long as
there are more data to receive or socket are nonblocking.
Set new peeled off socket to be nonblocking to prevent a erlang vm hangup.
Under Unix enable TCP_NODELAY to disable Nagel's socket algorithm

Under Unix enable TCP_NODELAY to disable Nagel's socket algorithm
(Removes ~40ms delay on Redhat ES 6).
Fix documentation about how supervisor handles crash in child's start function
If supervisor:start_link fails to start child, add child id to error reason
Merge branch 'tp/supervisor-pass-on-errors'

* tp/supervisor-pass-on-errors:
  If supervisor:start_link fails to start child, add child id to error reason
  Fix documentation about how supervisor handles crash in child's start function
  Have supervisor send errors up the chain

OTP-10490
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
Merge branch 'jf/fix_sctp_peeloff_active_true'

* jf/fix_sctp_peeloff_active_true:
  Set new peeled off SCTP socket to nonblocking socket
  SCTP test case with socket active options once and true

OTP-10491
Merge branch 'at/binary-depth-printing'

* at/binary-depth-printing:
  Fix printing the empty binary at depth 1 with ~W

OTP-10504
Merge branch 'nk/jinterface-fix_compressed_binary'

* nk/jinterface-fix_compressed_binary:
  add (de)compress roundtrip tests with larger values
  fix reading compressed binary terms from Java

OTP-10505