mnesia: Use chained send_after instead of send_interval

timer:send_interval behaves badly when resuming from sleep on some
platforms. For example, if I sleep for 10 minutes, and have a
send_interval running once per minute, when I resume, 10 messages
will be sent immediately, eliminating the benefit of only running
the work periodically. This is admittedly a separate bug with
send_interval, but the workaround is straightforward, and also
protects from messages piling up in the queue when the work takes
longer than the interval.

This patch fixes piled up error reports on resume from sleep:

** WARNING ** Mnesia is overloaded: {dump_log, write_threshold}

You'll still be warned if mnesia is overloaded, just not repeatedly.

Additionally, erlang:send_after is more efficient than using the
timer module equivalent [1]

[1] http://www.erlang.org/doc/efficiency_guide/commoncaveats.html#id57251
crypto: Make unloading of crypto safer

Facts:
crypto nif-lib registers callback functions that openssl uses
for memory management and thread synchronization. The callback
functions can only be set once, openssl does not allow changing the
callback functions.

Problem:
If openssl is dynamicly linked to crypto, you might get s scenario
where the crypto lib is unloaded while leaving openssl loaded
with its old pointers to the unloaded crypto code intact.
If crypto is then reloaded (by init:restart() for example), the crypto
nif-lib might get relocated at a different address. crypto calls
openssl which in turn calls the old invalid callback functions...kaboom.

Solution:
Break apart the callback functions into a separate dynamic lib that
crypto loads with dlopen. When crypto is unloaded the callback lib is
left in place to be reused if/when crypto is loaded again.
hipe: Cast offsetof to int in hipe_arch_print_pcb

* Silence compiler warning
* This is the same style as the rest of the debug printing in hipe.
  Keeping to the same style, though changing the printing format
  would probably be better. Not a critical change.
erts: Remove forgotten vxworks includes
erts: Fix '#ifdef' for unused static functions

On architectures where cpu topology was unavailable,
warnings erupted due to unused static functions.

Those warnings are now silenced.
erl_interface: Avoid redefinition of ALIGNBYTES

Changed to EI_ALIGNBYTES
Fix format of mnesia overload message

Using ~p in mnesia overload message could lead to wrong messages.
mnesia_tm overload message contains a list of two numbers (queue length)
example:
instead of:
Mnesia is overloaded: {mnesia_tm,message_queue_len,[100,105]}
it prints :
Mnesia is overloaded: {mnesia_tm,message_queue_len,"di"}

Replacing ~p with ~w fixes the problem as it doesn't try
to detect lists of printable characters
crypto: Enable runtime upgrade of crypto
crypto: Add debug print macros
crypto: Link crypto_callback statically

if static linking of openssl is used.
Add separate face for exported functions

Add a separate face for exported functions to erlang mode so that they
are distiguishable at a glance. By default, the face is identical to
that of normal functions and there is also a configuration variable to
inhibit the face in case running this on a low-performance machine is
too slow.
Fix typo in snmpm doc
Add ct_test_support:verify_events/4 which takes a node name
Test that test cases succeed
Remove redundant sleep in ct_master_SUITE
Add support for passing environment variables in master mode

Prototype-by: Magnus Lidén <mange@erlang.org>
erts: Remove faked MSEG_ALLOC

* Not used except in valgrind but there mseg is disabled completely
  via Meamin.
Fix Debugger settings dialog due to changed behavior in wxFileDialog
erts: Let mseg allocate larger alignments
erts: Teach mseg alloc the value of halfword beam