auto merge of #11774 : sfackler/rust/move-macros, r=pcwalton

They all have to go into a single module at the moment unfortunately.
Ideally, the logging macros would live in std::logging, condition! would
live in std::condition, format! in std::fmt, etc. However, this
introduces cyclic dependencies between those modules and the macros they
use which the current expansion system can't deal with. We may be able
to get around this by changing the expansion phase to a two-pass system
but that's for a later PR.

Closes #2247
cc #11763
Add support for arbitrary flags to MemoryMap.

This also fixes up the documentation a bit, it was subtly incorrect.
Use `mmap` to map in task stacks and guard page

Also implement caching of stacks.
Update task-perf-one-million
Add benchmarks
Fix zero-sized memory mapping
Fix some docs about rt
Fixed iter's is_empty to use is_none() and added relevant test flag
Uppercase numeric constants

The following are renamed:

* `min_value` => `MIN`
* `max_value` => `MAX`
* `bits` => `BITS`
* `bytes` => `BYTES`

Fixes #10010.
auto merge of #11570 : derekchiang/rust/fix-rt-docs, r=alexcrichton
auto merge of #11775 : alexcrichton/rust/select-fix, r=pcwalton

The race here happened when a port had its deschedule in select() canceled, but
the other chan had already been dropped. This meant that the DISCONNECTED case
was hit in abort_selection, but the to_wake cell hadn't been emptied yet (this
was done after aborting), causing an assert in abort_selection to trip.

To fix this, the to_wake cell is just emptied before abort_selection is called
(we know that we're the owner of it already).
auto merge of #11788 : salemtalha/rust/master, r=huonw

Fixes #11785.
auto merge of #11790 : lfairy/rust/rename-num-consts, r=alexcrichton

The following are renamed:

* `min_value` => `MIN`
* `max_value` => `MAX`
* `bits` => `BITS`
* `bytes` => `BYTES`

All tests pass, except for `run-pass/phase-syntax-link-does-resolve.rs`. I doubt that failure is related, though.

Fixes #10010.
Fix spacing in example comment.
Implement barrier.
auto merge of #11795 : xales/rust/master, r=cmr
auto merge of #11725 : derekchiang/rust/add-barrier, r=alexcrichton
Grammatical fixes.
Simplify and rename macro API

Now that procedural macros can be implemented outside of the compiler,
it's more important to have a reasonable API to work with. Here are the
basic changes:

* Rename SyntaxExpanderTTTrait to MacroExpander, SyntaxExpanderTT to
    BasicMacroExpander, etc. I think "procedural macro" is the right
    term for these now, right? The other option would be SynExtExpander
    or something like that.

* Stop passing the SyntaxContext to extensions. This was only ever used
    by macro_rules, which doesn't even use it anymore. I can't think of
    a context in which an external extension would need it, and removal
    allows the API to be significantly simpler - no more
    SyntaxExpanderTTItemExpanderWithoutContext wrappers to worry about.
Stop allocating so much in arena tests

Android bots are OOMing.