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.
syntax: add a some docs/clarification to the fields of ExpnInfo.
syntax: add a missing span rewrite in fold.

This was leaving Decls without the new spans; this is a minor change,
since literally nothing reads in the code base reads the span of a Decl
itself, always just its contents.
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.
rustc: Relax restriction on privacy for fields

This is a necessary change in preparation for switching the defaults as part
of #8122.

RFC: 0004-private-fields
syntax: Permit visibility on tuple fields

This change is in preparation for #8122. Nothing is currently done with these
visibility qualifiers, they are just parsed and accepted by the compiler.

RFC: 0004-private-fields
auto merge of #13152 : huonw/rust/wtf-are-things-in-spans, r=alexcrichton

Add some docs to ExpnInfo. Add a single overlooked `new_span` call to the folder (I'm pretty sure nothing reads this span, though, so it's probably pointless).
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.
auto merge of #13145 : alexcrichton/rust/flip-some-defaults, r=brson

This change prepares `rustc` to accept private fields by default. These changes will have to go through a snapshot before the rest of the changes can happen.