initial implementation of call overloading: f(x...) gets turned into call(f, x...) as a fallback (if f is not a function); to do: update inference, fallback to call when f is a type
make sure call passes through keywords
fix call overloading for type constructors, add some tests
support generic call in apply(f, ...)
(broken) patch to eliminate emit_func_check
get basic call overloading working with 1 bootstrap stage
Merge branch 'master' into call_overload

Conflicts:
	src/codegen.cpp
	test/core.jl
update emit_call for jl_fptr_llvmt => jl_pfptr_llvmt change
check integer truncation (#5413) and make more operators follow T+T => T (#3759)

the sysimg builds, but still need to:
  - check same-size signed<->unsigned conversion
  - make tests pass
get numbers test passing with checked integer conversions and type-stable arithmetic
make a couple things safe for checked signed<->unsigned conversion
check signed<->unsigned conversions

this would be a bit cleaner without the code in intfuncs that dispatches
on Unsigned.

signed() and unsigned() are convenient for testing bit patterns in the
test suite. for now replace with assigned() and asunsigned().

uint8(x) is convenient for moving bytes around, so it remains unchecked.
we should perhaps rename this to byte(), and either eliminate uint8()
entirely, or make it checked.
get dates tests passing with checked signed<->unsigned conversion
Merge branch 'master' of github.com:JuliaLang/julia into jb/checked_int_trunc

Conflicts:
	base/number.jl
get a few more things working with checked integer conversions
allow x[i,j;k] syntax to be parsed #7225
Merge branch 'master' of github.com:JuliaLang/julia into jb/checked_int_trunc

Conflicts:
	base/intfuncs.jl
make signed() and unsigned() unchecked. check only in convert()

a few fixes in base for the convert and arithmetic changes

get all tests passing
add a bit of widening to reductions, to make up for the new
type-preserving arithmetic.

allow reducedim(+, A, 2), which previously gave
```
ERROR: `reducedim_init` has no method matching reducedim_init(::IdFun, ::Function, ::Array{Uint8,2}, ::Int64)
 in reducedim at reducedim.jl:217
```
Merge branch 'master' of github.com:JuliaLang/julia into jb/checked_int_trunc

Conflicts:
	base/reduce.jl