Register new snapshots

This enables the parser error for `extern mod` => `extern crate` transitions.
extern mod => extern crate

This was previously implemented, and it just needed a snapshot to go through
Update rustdoc testing to test all code blocks

It's too easy to forget the `rust` tag to have a code example tested, and it's
far more common to have testable code than untestable code.

This alters rustdoc to have only two directives, `ignore` and `should_fail`. The
`ignore` directive ignores the code block entirely, and the `should_fail`
directive has been fixed to only fail the test if the code execution fails, not
also compilation.
Fix all code examples
mk: Clean up conditions for including dist.mk
auto merge of #12272 : alexcrichton/rust/snapshot, r=kballard

This notably contains the `extern mod` => `extern crate` change.

Closes #9880
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
Add a method to LimitReader to return the limit

This is useful in contexts like this:

let size = rdr.read_be_i32() as uint;
let mut limit = LimitReader::new(rdr.by_ref(), size);
let thing = read_a_thing(&mut limit);
assert!(limit.limit() == 0);
Add test and close #8893
std: add an RAII unlocker to Mutex.

This automatically unlocks its lock when it goes out of scope, and
provides a safe(ish) method to call .wait.
std: add tests for the _noguard lock/signal/wait methods on Mutex.
std: Rename unstable::mutex::Mutex to StaticNativeMutex.

This better reflects its purpose and design.
std: add a NativeMutex type as a wrapper to destroy StaticNativeMutex.

This obsoletes LittleLock, and so it is removed.
sync: Add `#[must_use]` to the Mutex guard.

This helps people remember to save the return value to keep the mutex
locked as appropriate.
std::unstable::mutex: streamline & clarify documentation.
Convert some unnecessary StaticNativeMutexes to NativeMutexes.
auto merge of #12235 : huonw/rust/raii-lock, r=alexcrichton

- adds a `LockGuard` type returned by `.lock` and `.trylock` that unlocks the mutex in the destructor
- renames `mutex::Mutex` to `StaticNativeMutex` 
- adds a `NativeMutex` type with a destructor
- removes `LittleLock`
- adds `#[must_use]` to `sync::mutex::Guard` to remind people to use it