Make sparse multiplication work for AbstractArrays
Restrict inv to dense matrices to have a better error for #4439
Get rid of the generic inv implementation as it really is only
applicable for the dense case, which already has its own implementation.
See #4439 also.
Close #4439
try to fix windows compilation problems with method tab-completion
Merge pull request #4404 from JuliaLang/anj/sparse

RFC: Make sparse multiplication work for AbstractArrays
fix #4246. also fix calling convention, although it doesn't matter
Use TOL wherever it is an array, and tol where it is not an array.
Annotate the types for tol and TOL to minimize confusion when revisiting the
code in the future.
Doc: clarify search string vs. char; remove dup. rsearch
fix #4402
addresses issue #4310
eliminate some spurious method matches during type inference. fixes #4374

these occurred when a method matched, but the intersection was actually
already covered completely by prior (more specific) matches. the relevant
case here was methods(+,(Int,Int...)), which matches (Int,Int) and
(Number,Number), with the second one obviously redundant. the tricky part
is that the (Int,Int) match does not fully cover (Int,Int...), which
is what causes us to look for more matches.

this change cooperates with the prior improvements to inlining of vararg
functions to remove all overhead from + with any number of arguments.
Merge branch 'master' of github.com:JuliaLang/julia into jb/vararginline