fix crash in printing TypeConstructors

the problem is that when T isa TypeConstructor (made by `typealias`),
Type{T} and Type{T.body} are type-equal, but cannot be merged into the
same object without losing information (namely that T isa TypeConstructor).
instantiations of Type{} were handling this, but the type-cache comparison
predicate was not.
Merge branch 'master' of github.com:JuliaLang/julia
I/O Documentation

Remove some exports that shouldn't have been, document several I/O functions.
git ignores: tighten these up as they're a bit too inclusive.
Add deprecation fallback for add!(x::IntSet, y)
Pkg.scaffold(dir=<dir>): allow scaffolding with any name elsewhere.

This allows creation of new package scaffolding using the same code
that won't have any interaction with the existing registered or
installed packages as requested by @johnmyleswhite.
Merge branch 'master' of github.com:JuliaLang/julia
Document BigFloat functions
Don't leave BigFloat functions in UNDOCUMENTED
Merge pull request #4114 from simonbyrne/deg2rad

revert to multiplication for radian-degree conversion
fix #4115
Merge branch 'master' of github.com:JuliaLang/julia
Merge branch 'master' of github.com:JuliaLang/julia
fix #4098
Merge pull request #4101 from simonster/using

Fix `using X` when X.jl is in working directory
Pkg.scaffold: better info messages.
Adds LAPACK performance tests.
BigFloat documentation tweaks
improve ambiguity warnings. fixes #4030

this also required fixing a few newly-ambiguous definitions in Base
Merge branch 'master' of github.com:JuliaLang/julia