Set SO_REUSEADDR by default in libnative.

Fixes std::net test error when re-running too quickly.
Add appropriate LLVM module flags for debug info.

Set "Dwarf Version" to 2 on OS X to avoid toolchain incompatibility, and
set "Debug Info Version" to prevent debug info from being stripped from
bitcode.

Fixes #11352.
auto merge of #11864 : comex/rust/11352, r=alexcrichton

Set "Dwarf Version" to 2 on OS X to avoid toolchain incompatibility, and
set "Debug Info Version" to prevent debug info from being stripped from
bitcode.

Fixes #11352.
mk: remove -fno-omit-frame-pointer

This is still used for Rust code (`Options.NoFramePointerElim = true`).
Add a missing backslash to a makefile

Closes #11874
Fix a typo in disable rpaths

Closes #5219
auto merge of #11845 : xales/rust/libnative, r=alexcrichton

Fixes std::net test error when re-running too quickly.

Suggested by @cmr
Update extract-tests.py to use same test directives as rustdoc.

Closes #11362.
auto merge of #11490 : wting/rust/wting_11362_update_extract_tests, r=alexcrichton

Refactored the file quite a bit, I can add unit tests if desired. There's a few changes from the previous version's behavior:

- destination directory will be created if it doesn't exist
- strings and file is written as unicode

I have a few questions, but will ask them in #11362.
Rename CopyableVector to CloneableVector
Rename OwnedCopyableVector to OwnedCloneableVector
Rename ImmutableCopyableVector to ImmutableCloneableVector
Rename CopyableTuple to CloneableTuple
Implement an unused_result lint

I attempted to implement the lint in two steps. My first attempt was a
default-warn lint about *all* unused results. While this attempt did indeed find
many possible bugs, I felt that the false-positive rate was too high to be
turned on by default for all of Rust.

My second attempt was to make unused-result a default-allow lint, but allow
certain types to opt-in to the notion of "you must use this". For example, the
Result type is now flagged with #[must_use]. This lint about "must use" types is
warn by default (it's different from unused-result).

The unused_must_use lint had a 100% hit rate in the compiler, but there's not
that many places that return Result right now. I believe that this lint is a
crucial step towards moving away from conditions for I/O (because all I/O will
return Result by default). I'm worried that this lint is a little too specific
to Result itself, but I believe that the false positive rate for the
unused_result lint is too high to make it useful when turned on by default.
extra: move arena to libarena

In line with the dissolution of libextra - #8784 - moves arena to its own library libarena.
Changes based on PR #11787. Updates .gitignore to ignore doc/arena.
auto merge of #11883 : alexcrichton/rust/fix-mk-install, r=pnkfelix

Closes #11874
auto merge of #11887 : alexcrichton/rust/rpath-for-real, r=thestinger

Closes #5219
extra: move glob to libglob

In line with the dissolution of libextra - moves glob to its own library libglob.
Changes based on PR #11787. Updates .gitignore to ignore doc/glob.
Generate rlibs by default (instead of dylibs)

Closes #11253
auto merge of #11706 : alexcrichton/rust/issue-11253, r=huonw

Closes #11253