Re-do the 30 minute intro

This was originally on my blog, so it's incredibly informal. Let's make
it better.
Correctly generate drop glue for `Box<str>`

This fixes an ICE.  Closes issue #17734
Update LLVM.
docs: Fix short hash link to github

The escaped newline in the middle of the variable reference breaks the
short hash substitution, leaving the link text exmpty; rewrap so that
each replacement is on its own line.
Rename vector patterns to array patterns

Closes #17765.
Tweak ‘discriminant value already exists’ error message

Closes #15524.
Give a more descriptive error when marking non-test items as #[test]

Closes #14772.
Add intrinsics::unreachable
Add tests for intrinsics::unreachable
auto merge of #17776 : luqmana/rust/ul, r=alexcrichton

Update our LLVM snapshot to master (as of ~ Wed Oct 1 18:49:58 2014 +0000). 

Since my patches have landed upstream this fixes #13429 and #7298.
auto merge of #16970 : kmcallister/rust/llvm-unreachable, r=thestinger

I'm not sure how to add an automated test for this.
auto merge of #17777 : lambda/rust/fix-docs-short-hash, r=alexcrichton

The escaped newline in the middle of the variable reference breaks the
short hash substitution, leaving the link text exmpty; rewrap so that
each replacement is on its own line.
auto merge of #17785 : P1start/rust/diagnostics, r=alexcrichton

Closes #17765.
Closes #15524.
Closes #14772.
String::truncate doc: also fails if not a char boundary
Fix cfg syntax warnings in libnative
auto merge of #17799 : ebfe/rust/cfg_warn, r=alexcrichton

Probably fallen through the cracks in #17630.
Add regression test for issue #17734
auto merge of #17762 : bkoropoff/rust/issue-17734, r=alexcrichton

Closes issue #17734

r? @nick29581
Handle emitting debug info for unboxed closures

This fixes an ICE.  Closes issue #17021
Build regression test for issue #17021 with -g

This causes it to hit the previously ICEing debuginfo codepath