Add edit, less and code_* macros, mirroring which

The macros are programmatically generated, based on the previous macro for which.  The arguments are evaluated and their types are determined so the corresponding function may be called.

Adds news and documentation.
UniformScaling: allow writing generic polynomicals with I.

	julia> p(x) = x^2 - 2x + I
	p (generic function with 1 method)

	julia> p(4)
	9

	julia> p(rand(3,3))
	3x3 Array{Float64,2}:
	  0.386215   -0.22931    0.0859286
	 -0.18856     0.664356  -0.693054
	  0.0600554  -0.361883   0.619314
Merge pull request #5832 from mbauman/editmacro

Add edit, less and code_* macros, mirroring which
replace MethodError in which()

formatting fixes
Merge pull request #6472 from JuliaLang/sk/unifscal

UniformScaling: allow writing generic polynomicals with I.
Merge branch 'master' of github.com:JuliaLang/julia
.*, ./, -, and == for UniformScaling
Merge pull request #6474 from joehuchette/master

.*, ./, and == for UniformScaling
fix #6375 (corrupted output while printing to a terminal)

Due to recent changes in libuv, TTY writes are now non-blocking.
Remove redundant zero/one methods for rationals
Introduce `splice_buffer!` abstraction for IOBuffer

Behaves just like `splice!` for arrays, except that it accepts 0-indexed positions and keeps the cursor position stable with the text. Minor behavior change to kill_line -- when killing just a newline, that goes into the buffer.
Merge pull request #6429 from mbauman/cut-iobuffer

Introduce `splice_buffer!` abstraction for IOBuffer in the REPL
Add some missing io's in dump functions
tiny simplifications in LineEdit.jl

remove some "LineEdit." prefixes, formatting, etc.
Fix #6473 (REPL path completion close quote)
add timing and parallel downloads
Merge branch 'master' of https://github.com/JuliaLang/julia into appveyor