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
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
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.
erts: Remove faked MSEG_ALLOC

* Not used except in valgrind but there mseg is disabled completely
  via Meamin.
erts: Let mseg allocate larger alignments
erts: Teach mseg alloc the value of halfword beam
erts: New mseg allocator cache

* utilize the power of two
erts: Fix compiler warnings for halfword vm
erts: Add carrier offset to internal allocation headers
erts: Move carrier alignment define to erl_msg.h
erts: Use new mseg flag argument for carrier sizing
erts: Make alloc_SUITE:bucket_mask handle larger carriers
erts: Change single carrier block header flags

to allow realloc to determine block size (in MBC or SBC)
without having to read the footer of the previous block
that might be written to by concurrent thread.
erts: Refactor erl_alloc_util.c

Make use of type FreeBlkFtr_t
Rename GET_MB_CARRIER into BLK2MBC (like BLK2SBC)
Remove some unused macros
erts: Save one word per block for thread preferred allocators

by making use of the new block header scheme to find the carrier header
and thereby the allocator.
erts: Refactor removing dummy footer in carrier header
erts: Refactor renaming a couple of macros in alloc_util

To get a consistent naming scheme where
FBLK = Free block
ABLK = Allocated block
erts: Add carrier pointer to header of free block
erts: Ensure MBC limits due to super alignment
erts: Fix alloc_SUITE:coalesce for new header scheme