make util::NonCopyable a unit struct instead of a struct with a unit
remove bitrotted cant_nest field from RWARC (the #[mutable] tag suffices)
Document unstable::atomics fetch_* return values
Thread order_lock through rwlock condvars for reacquiring access_lock. Fixes #7065.
Add a test case for #7065.
Change sync::RWlock implementation to use atomic uint instead of exclusive, for performance. Close #7066.
Improve comments in sync and arc a bit more.
rustdoc: add syntax highlighting to item signatures.

This means that type definitions and function signatures have
pretty colours.

It uses the following template:

~~~ {.rust}
<code>
~~~
Various terminfo parameterization changes
Tweak new terminfo logical operator support
Tweak terminfo::parm::expand function signature

Take a new struct Variables instead of two &mut [] vectors for static
and dynamic variables.
Don't require &mut [Param] with terminfo::parm::expand()
Fix a bunch of failure cases in terminfo

Replace all potentially-failing operations with Err returns and add
tests.

Remove the Char parameter type; characters are represented as Numbers.

Fix integer constants to work properly when there are multiple constants
in the same capability string.

Tweak loop to use iterators instead of indexing into cap.
Implement terminfo param conditionals

Implement the %?, %t, %e, and %; operators. Also implement the %<, %=,
%> operators, without which conditionals aren't very useful.

Fix the order of parameters for the arithmetic operators.

Implement the missing %^ operator.
Fix line lengths in terminfo
std: rename .connect/.concat in VectorVector to avoid conflicting with StrVector.

This is caused by StrVector having a generic implementation for &[S]
and so #5898 means that method resolution of ~[~[1]].concat() sees that
both StrVector and VectorVector have methods that (superficially) match.

They are now connect_vec and concat_vec, which means that they can actually be
called.
rustc: Don't continue to resolve if there's an error in lang_items

This confused me when it happened.
rustpkg: Write more automated tests

Automate more tests described in the commands.txt file,
and add infrastructure for running them. Right now, tests shell
out to call rustpkg. This is not ideal.
auto merge of #7133 : kballard/rust/terminfo-parm, r=thestinger

Implement conditional support in terminfo, along with a few other related operators.

Fix implementation of non-commutative arithmetic operators.

Remove all known cases of task failure from `terminfo::parm::expand`, and change the method signature.

Fix some other miscellaneous issues.
auto merge of #7109 : bblum/rust/rwlocks, r=brson

r? @brson

links to issues: #7065 the race that's fixed; #7066 the perf improvement I added. There are also some minor cleanup commits here.

To measure the performance improvement from replacing the exclusive with an atomic uint, I edited the ```msgsend-ring-rw-arcs``` bench test to do a ```write_downgrade``` instead of just a ```write```, so that it stressed the code paths that accessed ```read_count```. (At first I was still using ```write``` and saw no performance difference whatsoever, whoooops.)

The bench test measures how long it takes to send 1,000,000 messages by using rwarcs to emulate pipes. I also measured the performance difference imposed by the fix to the ```access_lock``` race (which involves taking an extra semaphore in the ```cond.wait()``` path). The net result is that fixing the race imposes a 4% to 5% slowdown, but doing the atomic uint optimization gives a 6% to 8% speedup.

Note that this speedup will be most visible in read- or downgrade-heavy workloads. If an RWARC's only users are writers, the optimization doesn't matter. All the same, I think this more than justifies the extra complexity I mentioned in #7066.

The raw numbers are:
```
with xadd read count
        before write_cond fix
                4.18 to 4.26 us/message
        with write_cond fix
                4.35 to 4.39 us/message
                
with exclusive read count
        before write_cond fix
                4.41 to 4.47 us/message
        with write_cond fix
                4.65 to 4.76 us/message
```