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.
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.
Check enum and struct representability properly (issues #3008 and #3779)
Add compile-fail tests for non-representable structs and enums