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.
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
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
Merge branch 'ar/odbc_nagel'

* ar/odbc_nagel:
  Under Unix enable TCP_NODELAY to disable Nagel's socket algorithm

OTP-10506
ssh: Modernized test suites to use only Common Test
Merge branch 'ia/ssh/ctify-tests'

* ia/ssh/ctify-tests:
  ssh: Modernized test suites to use only Common Test