Add @Spell clusters to Vim syntax file

Add @Spell clusters to Vim syntax highlighting file to do spell checking
only inside comments and strings
added empty() to Peekable
Introduced a chapter that describes how to perform callbacks from C to Rust
Further details on channel idea
Removed remnants of `@mut` and `~mut` from comments and the type system.
Support linking of rlib files in rustpkg
Fix indention
doc: build the docs for librustpkg
Restore missing line breaks in doc/index.html

a30d61b05a removed all of the trailing whitespace in doc/index.md.
Unfortunately, that trailing whitespace was actually markdown syntax for
line breaks.
Add librustuv to doc/index.md
auto merge of #11488 : kballard/rust/librustpkg-docs, r=brson
auto merge of #11491 : wting/rust/wting_7959_document_inline_attributes, r=alexcrichton

Closes #7959.
more backticks
auto merge of #11495 : kud1ing/rust/backticks, r=huonw
Update guide-ffi.md

Simplified the first examples to demonstrate callbacks without other threads involved and shortened the elaboration about async callbacks.
extra::ebml: Make reader::Res public

Since reader::vuint_at() returns a result of type reader::Res it makes sense
to make it public.

Due to rust's current behavior of externally referenced private structures,
https://github.com/mozilla/rust/issues/10573, you could still use the result and
assign it to a variable if you let the compiler do the type assignment,
but you could not explicitly annotate a variable to hold a reader::Res.
extra::ebml: Add unit test for vuint_at()
Don't overwrite the options.output value from build_session_options
Mark allowed dead code and lang items as live

Dead code pass now explicitly checks for `#[allow(dead_code)]` and
`#[lang=".."]` attributes on items and marks them as live if they have
those attributes. The former is done so that if we want to suppress
warnings for a group of dead functions, we only have to annotate the
"root" of the call chain.
auto merge of #11471 : ktt3ja/rust/issue-11380, r=alexcrichton

Dead code pass now explicitly checks for `#[allow(dead_code)]` and
`#[lang=".."]` attributes on items and marks them as live if they have
those attributes. The former is done so that if we want to suppress
warnings for a group of dead functions, we only have to annotate the
"root" of the call chain.

Close #11380 and #11440.