std::dynamic_lib: start fixing windows implementation

The code compiles and runs under windows now, but I couldn't look up any
symbol from the current executable (dlopen(NULL)), and calling looked
up external function handles doesn't seem to work correctly under windows.
Update doc references to new names for std, extra, and std::libc
Reproduce text changes from @brson PR 7176 and fix a typo therein
Use DIBuilder in debuginfo
Made the while DebugContext mutable, not just created_* hashes
Disabled create_arg
Move "return" basic block after all other function blocks.
Debug loc for local var declarations
Removed extraneous string allocations.
Misc refactoring.
Fixed compile warnings.
Fixed whitespace "errors".
Fixed remaining issues to pass debug-test/* tests.
Made debugger scripts source line insensitive.
Converted vec::map to member.
Made unimplemented debuginfo a note rather than a compiler error.
Refactoring and tidy warnings cleanup.
Fixed rebase fallout .
Revert "stop using an absolute rpath"

This reverts commit 708395d65d689080cc96dd091adab3fc4c5c3f27.
auto merge of #7192 : brson/rust/rpath, r=thestinger

r? @thestinger

This reverts commit 708395d65d689080cc96dd091adab3fc4c5c3f27.

Fixes #7191.
auto merge of #7134 : vadimcn/rust/DIBuilder, r=jdm

This commit fixes rustc's debug info generation and turns debug-info tests back on.

The old generator used to write out LLVM metadata directly, however it seems that debug metadata format is not stable and keeps changing from release to release.  So I wrapped LLVM's official debug info API - the DIBuilder class, and now rustc will use that.

One bit of old functionality that still doesn't work, is debug info for function arguments.  Someone more familiar with the compiler guts will need to look into that.

Also, unfortunately, debug info is still won't work on Windows,- due to a LLVM bug (http://llvm.org/bugs/show_bug.cgi?id=16249).

Resolves issues #5836, #5848, #6814
auto merge of #7131 : Blei/rust/windows-dynamic-lib, r=graydon

The code compiles and runs under windows now, but I couldn't look up any
symbol from the current executable (dlopen(NULL)), and calling looked
up external function handles doesn't seem to work correctly under windows.

This the beginning of a fix for #7095.
auto merge of #7197 : rkbodenner/rust/doc-for-lib-move, r=brson

Was updating some code of mine to use the new `std`/`extra` library names, and noticed a place where docs for `std::libc` hadn't been updated. Then I updated some top-level docs for the new libraries' names, too.