work towards allocating new bindings per-scope and per-for-loop-iteration
(#1571)
Merge branch 'master' of github.com:JuliaLang/julia into jb/newvars
get sysimg building with new binding behavior (ref #1571)

the most problematic change was forcing for loop variables to be loop-local,
instead of reusing existing local vars. for example

    local i
    for i = 1:2
    end
    return i

currently works and returns 2.

for now, the behavior is to introduce new variables for each iteration unless
we are overwriting an existing local. comprehensions, however, always
introduce fresh variables and never overwrite existing ones.
Merge branch 'master' of github.com:JuliaLang/julia into jb/newvars
Merge branch 'master' of github.com:JuliaLang/julia into jb/newvars
added new base64(...) function to base64-encode binary data, along with a Base64Pipe <: IO type
add multimedia I/O mechanism (display, mm_write, and friends)
Merge branch 'master' of github.com:JuliaLang/julia into jb/newvars
remove redundant box allocation code now handled by :newvar
fix #3982 (printf e/E failing)
Add bits() for Float16
document BitArray methods and add ref-links for math-operators in base
Allow building llvm from git; support llvm3.4svn

This adds makerules for building LLVM from latest upstream git master to be able to try out new versions.
This also adds support for the changed APIs as of yesterday's LLVM master.
Align unsafe_store!/unsafe_load semantics
Merge pull request #3932 from stevengj/mimedisplay

RFC: add multimedia I/O mechanism (display, mm_write, and friends); fixes #3817
some newvar improvements:
  - don't need to re-null vars never used undef
  - don't need newvar nodes for (internal) local! decls
Merge branch 'jb/newvars' of github.com:JuliaLang/julia into jb/newvars
faster max and min for float arrays
Merge branch 'master' of github.com:JuliaLang/julia into jb/newvars
move newvar nodes after initial line number nodes