Fix DTrace build on Illumos

DTrace was recently patched in Illumos to fail to create an object
file if no probes are found.

* https://www.illumos.org/issues/4248
* https://github.com/illumos/illumos-gate/commit/54a20ab41aadcb81c53e72fc65886e964e9add59

This patch fixes two issues:

* Modify the configure script to pass an object file to `dtrace -G`
  that actually invokes a probe.

* Remove creation of `dtrace_user.o` from the dyntrace Makefile. In a
  previous commit [1] Scott Fritchie relocated all the user probes
  into the VM proper due to difficulties with DTrace probes in shared
  libraries. The `dtrace_user.d` file is now empty and generates a
  header file with nothing in it. There is no longer any reason to
  generate `dtrace_user.o` because all the probes are in the VM. Thus
  all the steps for building `dtrace_user.o` have been removed.

[1]: https://github.com/erlang/otp/commit/75552bd3bb4e7f3cf4dab81a5c81cf73b1d3fb99
Cross-compilation fix for TileraMDE-3.0.1.125620

-OPT:Olimit=0 -WOPT:lpre=off:spre=off:epre=off
tile-gcc 4.4.3 does not accept these options:

cc1: error: unrecognized command line option
"-WOPT:lpre=off:spre=off:epre=off"
Undefined MALLOC_USE_HASH macro on TileMDE3

MALLOC_USE_HASH is not defined in TileraMDE-3, but exists in
TileraMDE-2. So use macro conditionally.
erts: Increase gc tenure rate

The garbage collector tries to maintain the previous heap block size
during a minor gc, i.e. 'need' is not utilized in determining the size of
the new heap, instead it relies on tenure and garbage to be sufficiently large.

In instances during intense growing with exlusively live data on the heap
coupled with delayed tenure, fullsweeps would be triggered directly after
a minor gc to make room for 'need' since the new heap would be full.

To remedy this, the tenure of terms on the minor heap will always happen
(if it is below the high watermark) instead of every other minor gc.
Fix etop trace handler in smp environment

There could be multiple processes scheduled to run
Fix an erroneous spec

The branch that patched this file to handle the new "named funs"
added an extra argument to the main function of the module but
forgot to update its spec.
New version number does not start with an R
cerl: Fix target detection on freebsd
remove deprecated driver_async_cancel function

Some time ago the driver_async_cancel function was deprecated and slated
for removal in R17. This commit removes the function along with its
associated tests and documentation, sets the
ERL_DRV_EXTENDED_MAJOR_VERSION to 3 and ERL_DRV_EXTENDED_MINOR_VERSION to
0, and modifies the sys_info_base_drv and sys_info_prev_drv tests in the
driver test suite to check version 3.0 instead of 2.0.
set_cookie/2 call needs to be fully qualified
Compiler suite fix

An error when expecting success wasn't regarded as failure when
compiling dictionaries.
Don't format diameter_make:codec/2 errors

Instead, add diameter_make:format_error/1 to allow the caller to format
if desired, which is what applications like compiler and yecc do. Use
this to check that the expected error is the one actually generated in
the compiler suite.
Ensure that Grouped AVP's are fully defined in dictionaries

The case in which an AVP was defined as having type Grouped in
@avp_types without a corresponding specification in @grouped was
missing.
crypto: Remove all processes from application crypto

and make it into a pure library application.
The processes where a legacy from the time when crypto was
implemented with a driver.
[dialyzer] Re-work the handling of opaque types

It is now OK to inspect and modify the internals of opaque types within
the scope of the module.

The contracts are used for decorating types with opaqueness when it is
harmless to do so. The opaqueness is propagated by the typesig module
and also by the dataflow module.

A lot of details have been fixed or updated. In particular the modules
erl_types and erl_bif_types have been modified extensively.

The version in vsn.mk has been updated to 2.7. The reason is a
modification of #opaque{} in erl_types.

Dialyzer seems to be about five percent slower than it used to be.
wx: Update icons to plain old white ones

This is the (original logo) icon used on windows (werl).
Update icons

Some png libs can not read the old images for some reason.
wx: Add init_dialog event

It was missing.
wx: Refactor C++ code

Try to clean up the files a bit
Implement 'honor_cipher_order' SSL server-side option

HonorCipherOrder as implemented in Apache, nginx, lighttpd, etc. This
instructs the server to prefer its own cipher ordering rather than the
client's and can help protect against things like BEAST while
maintaining compatability with clients which only support older ciphers.

This code is mostly written by Andrew Thompson, only the test case was
added by Andreas Schultz.