[sasl] Fix tests that compare execution time

Tests that compare execution time for release_handler:install_release
sometimes fail. This has been corrected by multiplying the time with
the CPU utilization in order to disregard wait time for e.g. file
access and and non-erlang related load.
[sasl] Quote path to program run with open_port({spawn,...

This is to allow space in the path.
Update sasl version and sasl.appup.src for R17

Also clean up appup_test in sasl_SUITE by removing old versions that
are no longer used.
Update "old vsn" in sasl test to R15 instead of R14 (two back from R17)
[sasl] Remove compiler warning in release_handler_SUITE
Merge branch 'maint'
Remove the "coding: utf-8" comment from all Erlang source files
Convert XML files to UTF-8
Fix unmatched_return warnings in sasl
[sasl] In test, quote erlsrv executable in call to open_port/2
[sasl] Write erl.ini as utf8, allowing unicode path for root dir and bin dir
[sasl] Update example/target_system.erl to handle unicode

This example module can now create and install a release in a
directory which contains unicode characters. The erlang node must be
started with the +fnu* switch for this work.
[sasl] Rewrite release_handler_SUITE:clean_priv_dir to work on unicode paths

This function used os:cmd("rm -rf " ++ File), and it failed when the
file path contained characters > 255. The function now uses
file:delete/1 and file:del_dir/1 instead.
[sasl] Update tests to run under unicode path

In order to test that unicode paths can be used in release handling,
the release_handler_SUITE will use a priv_dir with unicode characters
if the file name translation mode is utf8 (not on windows).
[sasl] Use unicode characters in priv dir name also on windows
Quote windows paths with spaces
erts: Windows, convert erlsrv to use widestring
[sasl] Clean priv_dir after systools_SUITE

Some files with icky names (unicode) can not be deleted with the
cleanup scripts after daily tests. Therefore it is better to clean up
directly from the erlang node after test is run.
Fix receive support in erl_eval with a BEAM module

Using the low-level BEAM instructions, we can loop over each message in
the process queue and removes the first message that matches, without
receiving them all to later send them back to itself.

The function prim_eval:'receive'/2 is equivalent to the
following pseudo-code:

  'receive'(F, T) ->
    RESET MESSAGE QUEUE POINTER,
    LOOP:
      case PEEK CURRENT MESSAGE WITH TIMEOUT T of
        {ok,Msg} ->
          case F(Msg) of
            nomatch ->
              DECREMENT TIMEOUT T,
              ADVANCE MESSAGE QUEUE POINTER,
              GOTO LOOP;
            Result ->
              RESET MESSAGE QUEUE POINTER,
              Result
          end;
        timeout ->
          RESET MESSAGE QUEUE POINTER,
          timeout
      end.

To not break Dialyzer and other tools, we use a stub Erlang module which
abstract code is forcefully inserted into prim_inet.erl afterwards
compilation.
Fix unmatched_return warnings in release_handler