Wrap usages of @ngenerate to improve type inference
don't promote integer division (fix #5409)
work towards making libjulia combilable with a c++ compiler (required for MSVC)
remove redundant typedef and reorder includes in codegen.cpp

Note that extern “C” is not required for julia.h as it is already used
inside the header
Update Makefile
document promotion behaviors
Merge pull request #5379 from tknopp/MSVC

RFC: Compiling libjulia with MSVC compiler
formatting changes
Add missing extrema test from Stats
Merge branch 'master' of github.com:JuliaLang/julia
fix #5401

type inference was being too greedy by returning `None` for no matching
methods. it's safer to be able to handle methods that might not be
defined yet. we might be able to roll back this change when #265 is
fixed.

also fix a bug in ... with keyword arguments that caused https://github.com/dcjones/Gadfly.jl/issues/157
Merge pull request #5412 from stevengj/intdiv

don't promote integer division (fix #5409)
Merge branch 'master' of github.com:JuliaLang/julia
add checks for rem and mod. fixes #5382
Merge branch 'master' of github.com:JuliaLang/julia