Improve UX of calling abstract-type constructors (#20596)
* Make calling abstract type with only sysimg method display a more specific message
* Do not show the Base/sysimg.jl method for Type{T} in tab-completion
* Hide sysimg.jl method from closest candidates
* Better type name in tests
* Remove line number of sysimg.jl method from tests
* Fix tests not checking for qualified names of the type
* *Actually* add a test for qualified abstract types
* Improve tests
- Wrap long lines.
- Make them easier to follow.
- Fix test for tab-completion
* Should be checking if the method string *starts with* the
sample, and not `!=` to it.
* Refactor sysimg method check
* Add a comment to the sysimg.jl method for clarity
* Cleanup `is_default_method`
* Fix tests; well that was easy...
- since the 'default' method from sysimg.jl is now hidden, there was one less method candidate, and therefore exactly three,
and therefore, no elipsis anymore.
- removed duplicate test for error message displayed for a MethodError on an abstract type without any constructors
defined.
* Add comments to the tests; make them easier to understand
* Update doctests that fail due to now-hidden sysimg.jl default method
* Fix rogue syntax error with '&&'
* Use @test instead of @assert
* Fix use of old unfactored code