patch #3167 and #3400, by fixing _methods() to return only methods that may actually get called for the argument tuple
add functions jl_breakpoint() and jl_() for easier debugging, (and
revert 2844b5e, after fixing it to use this debugging code)

`jl_(jl_value_t*)` prints any julia value, without calling any julia code (e.g. for when bootstrapping is broken)

`jl_breakpoint(jl_value_t*)` is a no-op function with Julia signature
`ccall(:jl_breakpoint, Void, (Any,), <anything>)`. It is intended that you
can put a breakpoint inside this function, for inspecting any value in the
code (with the `jl_` function above)
inline more function calls

type unions get split, then call-site specialized (or inlined) separately.
multi-line inlining is now supported (currently triggered by various
simple heuristics)
add marktype!, to avoid type inferences changes during inlining (fixes

Conflicts:
	base/inference.jl