modify methodshow and helper methods to feed a tvar_env into the printing of a method signature
for example, this turns:
rand{T<:Union{Bool,Int16,Int32,Int64}}(::Type{T<:Union{Bool,Int16,Int32,Int64}}) at random.jl:38
into:
rand{T<:Union{Bool,Int16,Int32,Int64}}(::Type{T}) at random.jl:38
and it resolves ambiguous expressions such as:
foo{T,N}(::Array{T,N}, ::Vector, ::Array)
which used to be printed as:
foo{T,N}(::Array{T,N}, ::Array{T,1}, ::Array{T,N})
by printing it instead as:
foo{T,N}(::Array{T,N}, ::Array{T<:Any,1}, ::Array{T<:Any,N<:Any})