More symbol exports and C-API example
base/bool.jl: `-0.0 + false === -0.0`.
Fix jl_apply_array_type (root boxed dim)
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
remove explicit paths, and gnutar assumption
move tar check to Make.inc and update tar commands
test for compatible tar, error if not found
Skip unicode tests if `iconv --version` fails
Add instructions for windows users
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 norm=... keyword argument to quadgk for changing the desired error norm (see JuliaLang/ODE.jl#7)
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
Merge pull request #5557 from ihnorton/no_UAC

windows: custom 7zS.sfx for no installer UAC prompt, and icons
Merge pull request #5528 from ivarne/distributing

make source-dist + git version info separation
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