Update fannkuchredux benchmark

From the discussion on reddit:
http://www.reddit.com/r/rust/comments/2fenlg/benchmark_improvement_fannkuchredux/

This adds two variants: the primary, that uses an unsafe block, and a secondary
that is completely safe.

The one with the unsafe block matches clang's performance and beats gcc's.
Make integer bit count methods return uints

Fixes rust-lang/rfcs#224
Remove unused diagnostic codes.

Fixes #16449.
Fix formatting in the guide.

Thanks @dherman.
don't say compromise

@dherman doesn't like it :smile:
Optimize Slice::reverse

This makes the completely safe implementation of fannkuchredux perform
the same as C++. Yay, Rust.
Fix documentation typo.
readdir: return error instead of failing on invalid UTF-16
Fixes #15279

Signed-off-by: Peter Atashian <retep998@gmail.com>
auto merge of #16999 : brson/rust/fannkuch, r=alexcrichton

From the discussion on reddit:
http://www.reddit.com/r/rust/comments/2fenlg/benchmark_improvement_fannkuchredux/

This adds two variants: the primary, that uses an unsafe block, and a secondary
that is completely safe.

The one with the unsafe block matches clang's performance and beats gcc's.
auto merge of #17016 : steveklabnik/rust/fix_diagnostic_codes, r=huonw

Fixes #16449.
auto merge of #17018 : steveklabnik/rust/fix_projects_in_guide, r=huonw

Thanks @dherman.
auto merge of #17019 : steveklabnik/rust/remove_compromise, r=thestinger

@dherman doesn't like it :smile:
auto merge of #17032 : jamesluke/rust/master, r=alexcrichton

"extern create" -> "extern crate"
auto merge of #17005 : bjz/rust/bit-count, r=thestinger

Fixes rust-lang/rfcs#224
auto merge of #17034 : retep998/rust/glob-fix, r=alexcrichton

Fixes #15279
Based on #13338
Fix deprecate warning "extern crate ... as ..."

Its arguments were inverted.
auto merge of #17015 : seb-m/rust/fix-extern-crate-as, r=sfackler

Its arguments were inverted.

For instance it displayed this message:

```
warning: this extern crate syntax is deprecated. Use: extern create "foobar" as foo;
```

Instead of:

```
warning: this extern crate syntax is deprecated. Use: extern create "foo" as foobar;
```