make `a=>b` syntax for `Pair(a,b)`

use Dict(iter) or Dict(::Pair...) as Dict constructors

ref #6739
combine Base.Pair and Base.Collections.Pair

add comparisons for Pair

start fixing tests
fix a mistake I made in priorityqueue in the last commit

add isless for Pair
Merge branch 'master' of github.com:JuliaLang/julia into jb/dictsyntax
Merge branch 'master' of github.com:JuliaLang/julia into jb/dictsyntax
allow parsing => as an identifier, and make it an alias for Pair

this way `a=>b` is lowered like every other operator call, except in
the old dict syntax during the deprecation period.

this is probably a good way to deal with it, and we can later decide to
remove the `Pair` alias if we want to.
update Dict show() to use the new standard syntax
Work around Sphinx bug with :orphan: directive
Update tabcomplete.jl to include Unicode names

The script will now download UnicodeData.txt from the Unicode Consortium website. This file is added to .gitignore.
Regenerate unicode-input-table.rst with Unicode names
Doc: "Interacting with Julia" cross-references "Unicode input"
Doc: warn about potential font rendering problems
remove {} Any array / dict syntax
throw an error for {} array / dict syntax
Loosen signature for some matmul functions as a prepartion for array views.
fix #8584 ((0:1//2:2)[1:2:3] was failing)
fixes #4929
Merge pull request #8579 from JuliaLang/cjh/moar-unicode-doc

Further improvements to Unicode documentation
deprecate old dict syntax and change uses in base and tests
update NEWS and docs for dict syntax change