std: Remove Option.or_{default,zero}

These can be replaced with `Some(option.or_default())`.
extra: minor cleanup of Zero and Default syntax extension
Renumber the lang items correctly

Also add a test to help prevent this from getting out of sync again.
Allow trailing commas in format!

This is more consistent with other parts of the language and it also makes it
easier to use in situations where format string is massive.
clarify vector stub in the container tutorial

This also renames the section, as managed vectors cannot be resized
(since it would invalidate the other references).
0.8 release notes
doc: Update container tutorial with new names of methods and macros

`deque` -> `ringbuf`, mention `extra::dlist`.

fix reference to vector method `bsearch`. Also convert all output
in example code to use `print!`/`println!`
Replace unreachable() calls with unreachable!().

This is the second of two parts of #8991, now possible as a new snapshot
has been made. (The first part implemented the unreachable!() macro; it
was #8992, 6b7b8f2682.)

``std::util::unreachable()`` is removed summarily; any code which used
it should now use the ``unreachable!()`` macro.

Closes #9312.

Closes #8991.
doc: Fix the tutorial's link to rustpkg docs
rustpkg: Register correct dependencies for built and installed files

as per #9112

Closes #9112
Rename the NaN and is_NaN methods to lowercase.

This is for consistency in naming conventions.

- ``std::num::Float::NaN()`` is changed to ``nan()``;
- ``std::num::Float.is_NaN()`` is changed to ``is_nan()``; and
- ``std::num::strconv::NumStrConv::NaN()`` is changed to ``nan()``.

Fixes #9319.
auto merge of #9299 : alexcrichton/rust/fmt-trailing-comma, r=huonw

This is more consistent with other parts of the language and it also makes it
easier to use in situations where format string is massive.
lexer: show correct span on lexical errors

Previously, the lexer calling `rdr.fatal(...)` would report the span of
the last complete token, instead of a span within the erroneous token
(besides one span fixed in 1ac90bb).

This commit adds a wrapper around `rdr.fatal(...)` that sets the span
explicilty, so that all fatal errors in `libsyntax/parse/lexer.rs` now
report the offending code more precisely. A number of tests try to
verify that, though the `compile-fail` testing setup can only check that
the spans are on the right lines, and the "unterminated string/block
comment" errors can't have the line marked at all, so that's incomplete.

Closes #9149.
lexer: report problematic chars verbatim or as escape sequence

... instead of giving their numeric codepoint, following the lead of
fdaae34. So the error message for, say, '\_' mentions _ instead of 95,
and '\●' now mentions \u25cf.
Fix broken tutorial link
auto merge of #9313 : brson/rust/relnotes, r=thestinger
Removed future's destructor

It was only there to prevent Future from being copyable, but it's
noncopyable anyways since it contains a ~fn.
auto merge of #9279 : erickt/rust/master, r=alexcrichton

`Some(5).or_{default,zero}` can be easily replaced with `Some(Some(5).unwrap_or_default())`.
auto merge of #9295 : alexcrichton/rust/fix-lang-items, r=thestinger

Also add a test to help prevent this from getting out of sync again.
lexer: further slight improvements to lexer errors