Use _DARWIN_UNLIMITED_SELECT in erl_poll

This allows erl_poll to select() on file descriptors greater than
FD_SETSIZE (1024) on Darwin. The fd sets are manually (re)allocated and
freed.
erts: Fix bug in unlimited fd_set patch
erts: Refactor unlimited select patch

An attempt to beautify the code by reducing the amount of #ifdef's
in the hot code path.
erts: Fix dynamic select for darwin

Make sure the fd-sets (read and write) are of equal size.
Crypto: Structure code
crypto: Avoid big binaries in nifs
crypto: Add large test data
Make term_to_binary yield (trap).
Make all steps ofterm_to_binary work in chunks and yield

Rewrite and extend of Happi's initial work

Extra_root to process structure to enable GC of state - Changed the
process structure to point to a separate struct, the struct also
contains a destructor function to allow for proper cleanup.

Rewrote encode_size_struct and enc_term to have internal versions with
reduction counters which will result in interrupt for later restart
when the counter reaches zero - removed the EWA_STACK from Happis
version and directly save the ESTACK's and WSTACK's in the above
mentioned struct (or array thereof) that are pointed out from the
process structure. The destructor will take care of the deallocation
in case of process death.

Added ESTACK and WSTACK macros to save and restore stack and to change
allocator, which makes the previously mentioned stack-save work.

Rewrote enc_term to not store pointers on the stack, and use one WSTACK
for commands etc and another ESTACK for Eterms - Slightly different than
Happis version to make halfword code simpler.

Rewrote encode_size_struct2 so that it does not store pointers on the
stack, also switched to ESTACK instead of WSTACK, this also handles
halfword correctly.

Added interfaces for chunkwise compression, that are
used from term_to_binary/2 when the compressed option is given.
Add enif_consume_timeslice to appropriate crypto NIFs
crypto & public_key: prepare for release
Teach external.c to handle reallocs before compression
Teach erl_gc:offset_rootset about extra_root
Improve case (in)sensitivity for host lookups
public_key & ssl: Add ASN-1 dependency

As the ASN-1 application relies on a nif in R16 for decodeing (that
was not the case in R15), public_key currently has a runtime
dependency on ASN-1. Hopefully we will be able to remove this
dependency again in the future.
Add test cases for host lookup case (in)sensitivity
Teach crypto.c not to call enif_compute_timeslice with 0
Move app/appsrc from src/base into src
Minor macro simplification
Trailing whitespace and copyright fixes