Change Shl<T, T> for Int to Shl<uint, T>
sync: Fail with init semaphore count < 0

Semaphores are not currently designed to handle this case correctly, leading to
very strange behavior. Semaphores as written are intended to count *resources*
and it's not possible to have a negative number of resources.

This alters the behavior and documentation to note that the task will be failed
if the initial count is 0.

Closes #15758
Derive Hash for TrieMap and TrieSet
Implement PartialEq, Eq for TrieMap, TrieSet
Revert "Made 'make install' include libs for additional targets"

This reverts commit 87334fb05ff2a665419241d877c13d6c4770a3f4.

Conflicts:
	mk/install.mk
auto merge of #15902 : nham/rust/hash_triemap, r=alexcrichton

cc #15294
configure: Add --enable-dist-host-only flag

This preserves the current behavior of `make dist` where we only
distribute bins for the host architecture. The bots need this.
mk: Have the various flavors of 'dist' install all targets by default

Closes #15711
auto merge of #15928 : brson/rust/dist, r=alexcrichton,alexcrichton

The first commit reverts a similar fix that only solves the `make install` case. This adds the `--enable-dist-host-only` flag to configure to preserve the old behavior, which the nightly bots rely on. The bots will need to be updated soon after this lands (or they will ~double in size).

Closes https://github.com/rust-lang/rust/issues/15711
Parser: Global single-segment paths should be represented as PatEnum

Fixed #15774.
collections: Move push/pop to MutableSeq

Implement for Vec, DList, RingBuf. Add MutableSeq to the prelude.

Since the collections traits are in the prelude most consumers of
these methods will continue to work without change.

[breaking-change]
collections: Deprecate push_back/pop_back
Convert some push_back users to push
collections: Move push/pop docs to MutableSeq
vim: Add MutableSeq
collections: Make push_back/pop_back default methods
collections: Deprecate shift/unshift

Use insert/remove instead.
Remove kludgy imports from vec! macro
collections: Tweak docs for push
Remove stray llvmdeps.rs