mk: Use rwildcard to calculate dependent files

The previous dependency calculation was based on an arbitrary set of asterisks
at an arbitrary depth, but using the recursive version should be much more
robust in figuring out what's dependent.

Closes #13118
rustdoc: Display rust logo again. Closes #13148
mk: Remove leading './' from manifest entries
Revert "Revert "mk: Run 'make install' through install.sh""

This reverts commit d62163188a21e5afc3d0f476eaf7856d91f715b2.

Conflicts:
	mk/install.mk
configure: Make rustlibdir non-configurable

Trying to reduce the complexity of installation
rustc: Stop relying on CFG_LIBDIR_RELATIVE

This is not sufficient for finding the library directory for binary
installs, but it does make the build more complex by requiring
env vars be set to build rustc.
mk: Rename CFG_COMPILER to CFG_COMPILER_HOST_TRIPLE

Much clearer
mk: Make nightlyism a configure option
mk: Fix deps for prepare host tools
install: Support --libdir and --mandir correctly

This adds a hack to rustc to make it find the library directory
regardless of whether it is named lib/lib64/lib32.
Derive TotalEq for std::intrinsics::TypeId

HashMap and HashSet require keys to implement TotalEq. This makes it possible to use TypeId as a HashMap key again.
bench: Put the spawn bench back on libgreen

This bench is meant to exercise libgreen, not libnative. It recently caused the
auto-linux-32-nopt-t bot to fail as no output was produced for an hour.
Fix #13140: Early/Late Bound related ICEs.

The problem was that we need to apply the substitution, so that the
formal lifetime parameters get replaced with (unifiable)
free-lifetimes that can actually be fed into the constraint solver.

Also, refactor code os that substitution for `check_item` and
`check_method`, moving both down the control flow into `check_bare_fn`.

----

Finally, there was another (similar) spot where we needed to
substitute early-bound lifetimes when invoking an object method of a
trait.
Fix Repr impl for method::Candidate to include the method_ty.
Add test using early-bound lifetimes in trait generic parameters.
syntax: Tweak parsing bounds on generics paths

The previous syntax was `Foo:Bound<trait-parameters>`, but this is a little
ambiguous because it was being parsed as `Foo: (Bound<trait-parameters)` rather
than `Foo: (Bound) <trait-parameters>`

This commit changes the syntax to `Foo<trait-parameters>: Bound` in order to be
clear where the trait parameters are going.

Closes #9265
install: name the bundled manifest 'manifest.in'. Cleanup

The installed manifest is a different file, so they should have
different names. This should prevent various wierd conflicts in the future.
Visit type parameter in lifetime suggestion

Previously, Rebuilder did not visit type parameters when rebuilding
generics and path, so in some cases the suggestion turns out to be
erroneous.
install: Don't allow installation over the install files
rustc: Fix detection of lib64 directory

Instead of just looking for its presence we need to see if it actually
contains rust stuffs.