rustdoc: refactor and unstyle inline section headers
doc: perform some 80-chars wrappings
syntax: `Mod` records the span for inner contents.

this is useful when the module item and module contents are defined
from different files (like rustdoc). in most cases the original span
for the module item would be used; in other cases, the span for
module contents is available separately at the `inner` field.
test: Rename a test to bypass UAC on windows
rustdoc: style tweaks
rustdoc: External module item links to the module contents. Fixes #12926.

the basic strategy is to distinguish `mod foo;` from `mod foo {...}`
by checking if the span for the module item and module contents is
in different files. if it's the case, we prefer module contents.

it is technically possible to fix #12926 without changing the AST,
probably by checking the individual items' span. this is not without
a problem though, since it is possible that some items inside
`mod foo {...}` may have originated from other file (e.g. `include!`).
therefore it is better to record both spans explicitly.
Add a streaming parser to serialize::json.
Fix a code formatting issue in json.rs
Update libworkcache with libserialize's json changes
Fix test issue-4016.rs with the json API change
doc: Remove out-of-place debug! note

As of cc6ec8df, the Owned closures example uses println! instead of
debug!, making a note about seeing debug seem out-of-place in this
section.

Since debug! is not used elsewhere in the tutorial, remove the note
entirely.
std: Rewrite crate docs

Also move prelude explanation to the prelude module.
auto merge of #13809 : prattmic/rust/tutorial_debug, r=alexcrichton

As of cc6ec8df, the Owned closures example uses println! instead of
debug!, making a note about seeing debug seem out-of-place in this
section.

Since debug! is not used elsewhere in the tutorial, remove the note
entirely.
Fix repeated module documentation
test: Fix run-make on windows
auto merge of #13795 : klutzy/rust/win-make-check, r=alexcrichton

Fixes #12303.

Also contains a partial fix for `make check` failure.
test: Add tests for closed issues

Closes #5518
Closes #7320
Closes #8391
Closes #8827
Closes #8983
Closes #10683
Closes #10802
Closes #11515
auto merge of #13811 : alexcrichton/rust/closed-issues, r=sfackler

Closes #5518
Closes #7320
Closes #8391
Closes #8827
Closes #8983
Closes #10683
Closes #10802
Closes #11515
Refactor ty_str to use a ~(str) representation.

Similar to my recent changes to ~[T]/&[T], these changes remove the vstore abstraction and represent str types as ~(str) and &(str). The Option<uint> in ty_str is the length of the string, None if the string is dynamically sized.
auto merge of #13791 : lifthrasiir/rust/mod-inner-span, r=huonw

This PR is primarily motivated by (and fixes) #12926.

We currently only have a span for the individual item itself and not for the referred contents. This normally does not cause a problem since both are located in the same file; it *is* possible that the contained statement or item is located in the other file (the syntax extension can do that), but even in that case the syntax extension should be located in the same file as the item. The module item (i.e. `mod foo;`) is the only exception here, and thus warrants a special treatment.

Rustdoc would now distinguish `mod foo;` from `mod foo {...}` by checking if the span for the module item and module contents is in different files. If it's the case, we'd prefer module contents over module item. There are alternative strategies, but as noted above we will have some corner cases if we don't record the contents span explicitly.