Include definition of tuples for destructuring.

Updates the tutorial to include a simple definition for tuples in
section 4.2. Fixes #5132.
core: Remove all but one drop block in favor of `finally`
Allow lint modes to be used on unused variables and dead assignments
auto merge of #5789 : brson/rust/drop, r=graydon
auto merge of #5804 : alexcrichton/rust/issue-3266, r=graydon

This leaves the default lint modes at `warn`, but now the unused variable and dead assignment warnings are configurable on a per-item basis. As described in #3266, this just involved carrying around a couple ids to pass over to `span_lint`. I personally would prefer to keep the `_` prefix as well.

This closes #3266.
LLVM versions
README: "driver/rust.rs" => "rust.rc"
auto merge of #5813 : sanxiyn/rust/llvm-version, r=thestinger

See my [post](https://mail.mozilla.org/pipermail/rust-dev/2013-April/003518.html) on the mailing list for details.

Also:

* 3.2 is newer than 3.2svn, so I changed the ordering. (3.2svn is the version used between 3.2 and 3.3.)
* 3.3svn is added. This is the version you currently get from compiling LLVM trunk.
* 3.3 is added. 3.3 is not released yet, but this is the version used by http://llvm.org/apt/.
auto merge of #5812 : kud1ing/rust/patch-1, r=sanxiyn

"driver/rustc.rs" does not exist anymore
Update destructuring to reference tuples section.
auto merge of #5773 : dunsmoreb/rust/incoming, r=bstrie

Updates the tutorial to include a simple definition for tuples in section 4.2. Fixes #5132.
librustc: implement a #[packed] attribute for structs.

A struct (inc. tuple struct) can be annotated with #[packed], so that there
is no padding between its elements, like GCC's `__attribute__((packed))`.

Closes #1704
testsuite: tests for #[packed] structs.
auto merge of #5816 : dbaupp/rust/rustc-packed-v2, r=nikomatsakis

#5758 take 2.

This adds a `#[packed]` attribute for structs, like GCC's `__attribute__((packed))`, e.g.

```rust
#[packed]
struct Size5 {
   a: u8,
   b: u32
}
```

It works on normal and tuple structs, but is (silently) ignored on enums.

Closes #1704.
Revert map.each to something which takes two parameters
rather than a tuple.  The current setup iterates over
`BaseIter<(&'self K, &'self V)>` where 'self is a lifetime declared
*in the each method*.  You can't place such a type in
the impl declaration.  The compiler currently allows it,
but this will not be legal under #5656 and I'm pretty sure
it's not sound now.
Added iter_to_vec conversion fn
auto merge of #5796 : nikomatsakis/rust/issue-5656-fix-map-iteration, r=nikomatsakis

Revert map.each to something which takes two parameters rather than a tuple.  The current setup iterates over `BaseIter<(&'self K, &'self V)>` where 'self is a lifetime declared *in the `each()` method*.  You can't place such a type in the impl declaration.  The compiler currently allows it, but this will not be legal under #5656 and I'm pretty sure it's not sound now.  It's too bad that maps can't implement `BaseIter` (at least not over a tuple as they do here) but I think it has to be this way for the time being.

r? @thestinger
path -> Path
removed eval.rs: dead code

@brson confirms that eval.rs is now dead code
unneccessary since tjc's commit 78ec6fe30cf2b, fixing #2804