Make BufferedReader propagate 0-byte long reads.

Could prevent callers from catching the situation and lead to e.g early
iterator terminations (cf. `Reader::read_byte') since `None' is only to
be returned only on EOF.
mk: Remove obsolete source reformatting rules
Remove unnecessary semicolon
std: Remove some @-boxes
Don't poison ARCs that are used while unwinding

Closes #11097
Remove unneccessary mut from arc
Guarantee comm primitives are not Freeze

None of these primitives should be Freeze because sharing them in an Arc is a
very bad idea.

Closes #11039
mk: Clean .lib files
auto merge of #11114 : klutzy/rust/a, r=cmr
auto merge of #11082 : brson/rust/noat, r=alexcrichton
auto merge of #11096 : brson/rust/pp, r=alexcrichton
Use --crate-file-name to find out the library filename in dep-info test
Allow optional filename argument for --dep-info
auto merge of #11101 : jhasse/rust/patch-msys-quickfix, r=luqmana

I had this fixed but somehow forgot to commit it in my final patch. Sorry!
auto merge of #11046 : zargony/rust/dep-info, r=alexcrichton

Using --dep-info writes Makefile-compatible dependency info to a file that is by default named based on the crate source filename. This adds an optional string argument to the --dep-info option which allows to write dependency info to an arbitrary filename.

cc #10698
auto merge of #11109 : sfackler/rust/arc, r=alexcrichton

Closes #11097
auto merge of #11111 : alexcrichton/rust/issue-11039, r=brson

None of these primitives should be Freeze because sharing them in an Arc is a
very bad idea.

Closes #11039
uv: Suppress a warning by using an absolute path

Turns out libuv's build system doesn't like us telling them that the build
directory is a relative location, as it always spits out a warning about a
circular dependency being dropped. By using an absolute path, turns out the
warnings isn't spit out, who knew?

Closes #11067
auto merge of #11069 : alexcrichton/rust/issue-11067, r=brson

Turns out libuv's build system doesn't like us telling them that the build
directory is a relative location, as it always spits out a warning about a
circular dependency being dropped. By using an absolute path, turns out the
warnings isn't spit out, who knew?

Closes #11067
Add tests for 0-byte read propagation.

The two `Some(0)' used to be `None' before the patch, a zero-byte long
read exhausting a reader (and thereafter) still produce a `None'.