Append missing padding after last field of struct

This patch fixes issue #13186.

When generating constant expression for enum, it is possible that
alignment of expression may be not equal to alignment of type.  In that
case space after last struct field must be padded to match size of value
and size of struct. This commit adds that padding.

See detailed explanation in src/test/run-pass/trans-tag-static-padding.rs
Be more clear about what this lambda expression does
Give more explanation when introducing closures
Demonstrate accessing external variable in first example
Some more closure changes
use option_env! instead of env!
Pre-step towards issue #12624 and others: Introduce ExprUseVisitor, remove the
moves computation. ExprUseVisitor is a visitor that walks the AST for a
function and calls a delegate to inform it where borrows, copies, and moves
occur.

In this patch, I rewrite the gather_loans visitor to use ExprUseVisitor, but in
future patches, I think we could rewrite regionck, check_loans, and possibly
other passes to use it as well. This would refactor the repeated code between
those places that tries to determine where copies/moves/etc occur.
Convert delegate to use an object type and remove FIXME from closed issue
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.
Fix link to hashmap.rs and json.rs in sample code FAQ
Added missing values in std::io::standard_error()
Fixed typo in std::iter
add BigUint subtraction underflow error message
auto merge of #13796 : ema-fox/rust/patch-1, r=kballard
auto merge of #13798 : aochagavia/rust/pr, r=alexcrichton