vim: Fix :RustRun when cwd has a space in it
Guide: Iterators, Macros and Unsafe wording fixes
Guide: Iterators: …are always lazy + rewrap as per request
Convert some notes to help messages

Closes #18126.
add populated search box to docs 404 page

reference https://github.com/rust-lang/rust/issues/18498
Merge remote-tracking branch 'upstream/master' into doc-18498
rand: Add next_f64/f32 to Rng.

Some random number generates output floating point numbers directly, so
by providing these methods all the functionality in librand is available
with high-performance for these things.

An example of such an is dSFMT (Double precision SIMD-oriented Fast
Mersenne Twister).

The choice to use the open interval [0, 1) has backing elsewhere,
e.g. GSL (GNU Scientific Library) uses this range, and dSFMT supports
generating this natively (I believe the most natural range for that
library is [1, 2), but that is not totally sensible from a user
perspective, and would trip people up).

Fixes https://github.com/rust-lang/rfcs/issues/425.
cleaned up ids, added direct rust doc search

Search functionality uses both duckduckgo for site wide doc search
and the rust specific documentation search @

http://doc.rust-lang.org/core/?search=unwrap_or_else
Fix decoding of unboxed closure kinds

Closes #18378.  Note that cross-crate unboxed closures are
still unimplemented and will fail to work currently.
Treat cross-crate unboxed closure def IDs consistently

Always translate the ID into the local crate ID space since
presently the only way to encounter an unboxed closure type
from another crate is to inline once of its functions.

This may need to change if abstract return types are added.

Closes #18543
Add regression test for #16790, #18378 and #18543
Change Json methods to &str and allow Indexing

Json's find, find_path, and search methods now use &str rather
than &String.

Json can now be indexed with &str (for Objects) and uint
(for Lists).

Tests updated to reflect this change.

[breaking-change]
Fix ICE when checking call overload

If the overloaded method does not have a tuple or unit type as its
first non-self parameter, produce a list of error types with the
correct length to prevent a later index bound panic.  This typically
occurs due to propagation of an earlier type error or unconstrained
type variable.  Closes #18532
Add regression test for #18532
Ignore whitespace tokens when re-computing spans in save_analysis
Dump char and byte positions in save_analysis
Doc: corrects obsolete pointer syntax

Goes from ~ to box
Closes #18551
Separate string->integer implementation in strconv
Remove unnecessary features from strconv
Clean up from_str_float and use iterators