debuginfo: Make limited-debuginfo test case more robust against GDB output variations.

Fixes issue #12787.
auto merge of #12895 : michaelwoerister/rust/limited-debuginfo, r=alexcrichton

Very minor modification of just one test case. Fixes #12787.
Implement TotalEq and TotalOrd for Timespec

There's a test making sure that Ord works, so the order dependence
shouldn't be an issue
auto merge of #12896 : alexcrichton/rust/goodbye-extra, r=brson

This commit shreds all remnants of libextra from the compiler and standard
distribution. Two modules, c_vec/tempfile, were moved into libstd after some
cleanup, and the other modules were moved to separate crates as seen fit.

Closes #8784
Closes #12413
Closes #12576
auto merge of #12906 : sfackler/rust/timespec-total, r=thestinger
auto merge of #12908 : alexcrichton/rust/issue-12897, r=thestinger

This is mostly just an implementation detail, and anyone worried about the stack
bounds doesn't need to be bothered with the red zone because it's not usable
anyway.

Closes #12897
sync: Bring the library up to date

* Remove clone-ability from all primitives. All shared state will now come
  from the usage of the primitives being shared, not the primitives being
  inherently shareable. This allows for fewer allocations for stack-allocated
  primitives.
* Add Mutex<T> and RWLock<T> which are stack-allocated primitives for purely
  wraping a piece of data
* Remove RWArc<T> in favor of Arc<RWLock<T>>
* Remove MutexArc<T> in favor of Arc<Mutex<T>>
* Shuffle around where things are located
  * The `arc` module now only contains `Arc`
  * A new `lock` module contains `Mutex`, `RWLock`, and `Barrier`
  * A new `raw` module contains the primitive implementations of `Semaphore`,
    `Mutex`, and `RWLock`
* The Deref/DerefMut trait was implemented where appropriate
* `CowArc` was removed, the functionality is now part of `Arc` and is tagged
  with `#[experimental]`.
* The crate now has #[deny(missing_doc)]

This is not a large-scale rewrite of the functionality contained within the
`sync` crate, but rather a shuffling of who does what an a thinner hierarchy of
ownership to allow for better composability.