docs: named lifetimes

* Include tip given by Leo Testard in mailing list about labeled `break`
and `continue`:
https://mail.mozilla.org/pipermail/rust-dev/2014-March/009145.html
* cross-reference named lifetimes in tutorial -> lifetimes guide
* Broke named lifetimes section into two sub-sections.
* Added mention of `'static` lifetime.
Added suggested notes

* Note on while loop not supporting named breaks.
* Note on hygienic macros (and example of such within loops)
green: Remove the dependence on the crate map

This is the final nail in the coffin for the crate map. The `start` function for
libgreen now has a new added parameter which is the event loop factory instead
of inferring it from the crate map. The two current valid values for this
parameter are `green::basic::event_loop` and `rustuv::event_loop`.
rustc: Remove all crate map support

The crate map is no longer necessary now that logging and event loop factories
have been moved out.

Closes #11617
Closes #11731
doc: Update the runtime guide with green changes

This updates a few code examples about booting libgreen/libnative and also
spells out how the event loop factory is required.
Prefer lifetime suggestion over generic error
rustuv: Handle short writes in uv_fs_write

The libuv fs wrappers are very thin wrappers around the syscalls they correspond
to, and a notable worrisome case is the write syscall. This syscall is not
guaranteed to write the entire buffer provided, so we may have to continue
calling uv_fs_write if a short write occurs.

Closes #13130
std: Explicitly link to libm for freebsd

Apparently we had forgotten to do this for freebsd, causing possible problems
on FreeBSD 10. The discussion in #12324 has some more details about how it's
missing.
libstd: Document the following modules:

* native::io
* std::char
* std::fmt
* std::fmt::parse
* std::io
* std::io::extensions
* std::io::net::ip
* std::io::net::udp
* std::io::net::unix
* std::io::pipe
* std::num
* std::num::f32
* std::num::f64
* std::num::strconv
* std::os
std: Touch various I/O documentation blocks

These are mostly touchups from the previous commit.
Changed `iter::Extendable` and `iter::FromIterator` to take a `Iterator` by value
mk: Use rwildcard to calculate dependent files

The previous dependency calculation was based on an arbitrary set of asterisks
at an arbitrary depth, but using the recursive version should be much more
robust in figuring out what's dependent.

Closes #13118
rustdoc: Display rust logo again. Closes #13148
mk: Remove leading './' from manifest entries
Revert "Revert "mk: Run 'make install' through install.sh""

This reverts commit d62163188a21e5afc3d0f476eaf7856d91f715b2.

Conflicts:
	mk/install.mk
configure: Make rustlibdir non-configurable

Trying to reduce the complexity of installation
rustc: Stop relying on CFG_LIBDIR_RELATIVE

This is not sufficient for finding the library directory for binary
installs, but it does make the build more complex by requiring
env vars be set to build rustc.
mk: Rename CFG_COMPILER to CFG_COMPILER_HOST_TRIPLE

Much clearer
mk: Make nightlyism a configure option
mk: Fix deps for prepare host tools