Updated documentation to refer to extra module

The documentation was still refering to getopts as though it was in the
std module - I've changed this to refer to extra instead.
Fix all issues with sample code

The getopts sample program now compiles and runs. Additionally I made
all of the indentation uniformly four spaces.
Replace str::raw::buf_as_slice with c_str_to_static_slice. Close #3843.
Remove 'this could be clearer' FIXME. Looks fine. Close #2618.
Tag a bunch of destructors that need mutable self with FIXME for #4330. Close #4943.
std: convert pow, hypot, atan2, log to take arguments by reference.
extra: implement .norm(), and Polar conversion functions for complex numbers.

Also, convert complex to use Clone, rather than Copy.

Fixes #5734 and #5735.
rt: dummy function pthread_atfork for android
auto merge of #7054 : yichoi/rust/after_jemalloc, r=brson

jemalloc searches pthread_atfork
auto merge of #7050 : huonw/rust/extra-complex-work, r=Aatch
lexer: show correct span on unrecognized token start

Fixes part of #7048.
decoder: better error message when failing to look up an id
ty: several small fixes to is_instantiable

* Don't return early, so logging is not skipped
* Remove one allocation
* Indent the match statement correctly
auto merge of #7058 : Blei/rust/fix-7048, r=bstrie
auto merge of #7047 : bblum/rust/bug_triage, r=graydon

r? anybody
auto merge of #7035 : influenza/rust/getopts-doc-update, r=bstrie

The documentation was still refering to getopts as though it was in the
std module - I've changed this to refer to extra instead.
Add a finally impl for `extern "Rust" fn()`
Ignore the test_package_request_version test for now