mk: Clean up conditions for including dist.mk
mk: Add prepare.mk

This is a slightly more generic rewrite of install.mk. Currently
used for nothing, but we'll base all the binary distributables off it.
mk: Base the install target on prepare.mk
mk: Fix a dist bug

Fallout from moving doc/ to src/doc
mk: Base the windows dist target on prepare.mk
doc: Reorganize the library index

Only single out std. Put everything else in a consistent list.
Ignore /build even if it’s a symlink.
Minor documentation fixes in std::fmt

* Change '...your own time' => '...your own type'
* Fix typo in the Vector2D example
auto merge of #12312 : brson/rust/doc, r=alexcrichton

Only single out std. Put everything else in a consistent list.
auto merge of #12319 : SimonSapin/rust/build-symlink, r=alexcrichton
Allow configuration of uid/gid/detach on processes

This just copies the libuv implementation for libnative which seems reasonable
enough (uid/gid fail on windows).

Closes #12082
Upgrade libuv

This notably includes joyent/libuv@6f62d62c in order to fix when processes fail
to spawn on windows
auto merge of #12085 : alexcrichton/rust/issue-12082, r=brson

This just copies the libuv implementation for libnative which seems reasonable
enough (uid/gid fail on windows).

Closes #12082
Address review feedback
Rename Bitwise::population_count to Bitwise::count_ones and add Bitwise::count_zeros

These are inspired by the [functions in the Julia standard library](http://docs.julialang.org/en/release-0.2/stdlib/base/#Base.count_ones).
Forbid use of generics with foreign functions. Closes #10353.
auto merge of #12284 : brson/rust/install, r=alexcrichton

Work toward #9876.

This adds `prepare.mk`, which is simply a more heavily-parameterized `install.mk`, then uses `prepare` to implement both `install` and the windows installer (`dist`). Smoke tested on both Linux and Windows.
auto merge of #12325 : big-guy/rust/doc-fixes, r=alexcrichton

* Change '...your own time' => '...your own type'
* Fix typo in the Vector2D example
auto merge of #12331 : bjz/rust/count-ones, r=alexcrichton

This is inspired by the [function naming in the Julia standard library](http://docs.julialang.org/en/release-0.2/stdlib/base/#Base.count_ones). It seems like a more self-explanatory name, and is more consistent with the accompanying methods, `leading_zeros` and `trailing_zeros`.
auto merge of #12337 : nick29581/rust/generic_extern, r=alexcrichton

and fix up some formatting.