Allow `!` as the return type of proc/closure literals

Fixes #13490.
Change rustc to say `array` instead of `vector`
core: Make TwoWaySearcher reset its prefix memory when shifting by byteset

Closes #16878.
Add many comments to TwoWaySearcher.
Add some tests for closures that return `!`
Add unnecessary_import_braces lint.

The lint checks any unnecessary braces around one imported item like
`use std::num::{abs};`.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
json: Properly handle trailing comma error in object decoding.

Closes #16945
Don't use 'here'

Fixes #17225
properly annotate C code in the guide

Without 'notrust,' we were getting a playpen link.

Fixes #17228.
remove references to HM inference

Fixes #17229.
remove rendundant function

Fixes #17230.
use _sample configurations..._ rather than _here_ as link text
Add missing unused variable warnings for for loop bindings
add missing semicolon to fix configure on darwin
mk: Update how the build deals with version labels. #16677

Adds a new configure flag, --release-channel, which determines how the version
number should be augmented with a release label, as well as how the distribution
artifacts will be named. This is entirely for use by the build automation.

--release-channel can be either 'source', 'nightly', 'beta', or 'stable'.

Here's a summary of the affect of these values on version number and
artifact naming, respectively:

* source - '0.12.0-pre', 'rust-0.12.0-pre-...'
* nightly - '0.12.0-nightly', 'rust-nightly-...'
* beta - '0.12.0-beta', 'rust-beta-...'
* stable - '0.12.0', 'rust-0.12.0-...'

Per http://discuss.rust-lang.org/t/rfc-impending-changes-to-the-release-process/508/1
stop spawning so many tasks in guide-tasks

1000 tasks * 2MiB stack size -> 2GiB of virtual memory

On a 64-bit OS, a 32-bit executable has 4GiB available, but the kernel
gets half of the available address space so the limit is 2GiB on 32-bit.

Closes #17044
Correct windows install link in guide

This closes #17260. The guide references the old install location for
the windows rust install before it was split into 64bit and 32bit
installers. This adds a link to each binary.
Rename std::io::net::unix to std::io::net::pipe.

Renamed as we may support pipes for other platforms.

Closes #12093

[breaking-change]
Update triple per comments
Clean up code for unused_must_use lint