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
Minor documentation fixes in std::fmt

* Change '...your own time' => '...your own type'
* Fix typo in the Vector2D example
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.