WIP: fix invoke for overloaded call

This is for issue #8712.  However, something is not quite working ... the following error seems rather mysterious to me:
```
julia> type A; end

julia> invoke(A, ())
ERROR: `call` has no method matching call(::Type{A})

julia> methods(A)
2-element Array{Any,1}:
 call(::Type{A})                         
 call{T}(::Type{T},args...) at base.jl:34
```
I'm guessing that there is a simple tweak to my patch that will fix this, but I'm don't understand where the problem lies.

cc: @simonster, @JeffBezanson, @vtjnash