rust-mode.el uses the 'cl macros, so it should actually require them

Without this change, rust-mode doesn't work if 'cl hasn't been required
by something else, apparently.  I'm not entirely sure what changed such
that I started seeing this problem instead of not, but maybe the emacs
world has been making progress towards not loading 'cl at runtime if
it's only needed at compile time.
Finish de-implicit-selfing everything but the test suite
auto merge of #5290 : bstrie/rust/dis, r=pcwalton
core: implement Clone for primitive types
kate: add Not to list of traits
kate: remove assert keyword
auto merge of #5294 : apasel422/rust/clone, r=nikomatsakis

This makes `#[deriving_clone]` useful.

I wasn't sure if a macro was the right way to do this, but it seems more maintainable than a series of repetitive `impl`s.
vec: renovate the BaseIter impl

* add 'self region to the borrowed pointer parameter
* rm workaround for #2263
* inline (wrappers)
* iter-trait is gone
auto merge of #5295 : apasel422/rust/kate, r=brson

Two small changes: `Not` was missing from the list of core traits and `assert` was removed from the language.
vec: cleanup
Remove @ast::Region and replace with @ast::Lifetime.
Modify pretty-printer to emit lifetimes and fix a few minor
parser bugs that this uncovered.
auto merge of #5296 : nikomatsakis/rust/region-syntax-expl-lifetimes-2, r=nikomatsakis

Modify pretty-printer to emit lifetimes and fix a few minor
parser bugs that this uncovered.

r? whomever.
auto merge of #5302 : thestinger/rust/vec, r=nikomatsakis
auto merge of #5285 : jld/rust/emacs-refix, r=brson

Without this change, rust-mode doesn't work if 'cl hasn't been required
by something else, apparently.  I'm not entirely sure what changed such
that I started seeing this problem instead of not, but maybe the emacs
world has been making progress towards not loading 'cl at runtime if
it's only needed at compile time.

(This change was previously submitted as e93a58d52 and accidentally reverted by ad8b437ad.)
Simplify the interface to check_fn by pulling some of the madness out to its callers
auto merge of #5309 : nikomatsakis/rust/simplify_check_fn, r=nikomatsakis

Simplify the interface to check_fn by pulling some of the madness out to its callers.

rs=refactor
Fix formatting and errors in std::getopts example.

There were three issues effecting the example in the getopts rustdoc:

1. The blockquote was incorrectly formatted.  Fixed by switching to using
   an explicit markdown code section with ```.
2. The `fail fail_str(f)` would not compile.  Fixed by using `fail!()` instead
   of `fail`.
3. The line `matches.free[0]` produced a compile error about moving from
   an immutable vector.  Fix by using `copy`.
Correct copyright year to be 2012-2013.

Previous year range of 2011-2013 was based on file creation date.  The
check_license python script, however, only accepts copyrights starting
in 2012 or later.
auto merge of #5308 : wanderview/rust/std-getopts-rustdoc-fix, r=luqmana

There were three issues effecting the example in the getopts rustdoc:

1. The blockquote was incorrectly formatted.  Fixed by switching to using
   an explicit markdown code section with ```.
2. The `fail fail_str(f)` would not compile.  Fixed by using `fail!()` instead
   of `fail`.
3. The line `matches.free[0]` produced a compile error about moving from
   an immutable vector.  Fix by using `copy`.
Simplify struct representation.

Out goes the extra layer of struct wrapping; the destructedness flag is
added to the end of the struct.  This means that, if the struct
previously had alignment padding at the end, the flag will live there
instead of increasing the struct size.