Use shared utf8proc library when USE_SYSTEM_UTF8PROC=1

Distribution policies strongly discourage statically linking
to libraries in packages. We thus need to allow using the
dynamic library when building packages.
Define power function for Float16
windows: manifest for 7zS.sfx

Setting `level="asInvoker"` in the SFX is necessary to avoid UAC.
All  other installer customization should be done with NSIS.
windows: add custom SFX file for installer

This adds a custom self-extracting binary for the Julia Windows installer.
As discussed in b013e9bf53, the installer package has several parts:

[7zS.sfx | config.txt | 7z payload ]

7zS.sfx extracts the payload and then runs the installer executable specified
in `config.txt`.

The change here is to use "asInvoker" permission request in the manifest.
Recent Windows versions have a broad pattern match to determine whether an exe
is an "installer". Any file that matches must be run with Admin rights, unless
the necessary level is specified in the application manifest. We set the level
in the NSIS config as well, but it needs to be set for 7zS.sfx because the
NSIS-generated installer is subordinate.

Additionally the Julia icon is now used for the installer package.

The customization is based on the 7zS.sfx file in 7z920_extra.7z from 7-zip.org
7zS.sfx is under LGPL, so this modified version is as well.

Modification steps:

1. download Resource Hacker from here: http://www.angusj.com/resourcehacker/
2. open 7zS.sfx in Resource Hacker

4. Action->Add a New Resource
   Click <Open file with new resource>
   Select "contrib/windows/7zS.sfx.manifest"
   Under Resource [Type,Name,Language] enter:

       24, 1, 1301

   These are: RT_MANIFEST, [Name=1], LANG_ENGLISH
   Per documentation:
   http://msdn.microsoft.com/en-us/library/ms648009.aspx
   http://msdn.microsoft.com/en-us/library/dd318693.aspx

5. Action->Replace Icon
6. <Open file with new icon>
   Select contrib/windows/julia.ico
   Various icon zoom levels will be created automatically
7. Save 7zS.sfx
Take git info out of BUILD_INFO, prepare for tarball export
Added source-dist make target

source-dist is a make target for creating a standalone tarball that can
be compilled on a system with the requisit external dependencies without
internet access to download the internal dependencies.
Changed BUILD_INFO to GIT_VERSION_INFO in methodsshow
Checked inn readline patches, instad of downloading them

I can not see why we download the readline patches, and it requires
somewhat  ugly code in the make rule for the source-dist target.
Add `dir` argument to setenv

Allows setting the directory in which the child process is supposed to execute.
Also changes the printing for `Cmd`s to distinguish those with modified env or
dir fields. This was long overdue.
fix #5559
better error for elseif with no condition. fixes #5562
Use rand(UInt32) for small ranges.
Change unlucky random seed in testing Woodbury.