Make debug!, etc. macros not require a format string

The one thing `log` can still do is polymorphically log anything,
but debug!, etc. require a format string. With this patch
you can equivalently write `debug!(foo)` or `debug!("%?", foo)`
rm obsolete iter-trait/option.rs file
auto merge of #5284 : thestinger/rust/iter-trait, r=brson

I missed this when I replaced iter-trait with a `BaseIter` impl.
auto merge of #5278 : brson/rust/logplusplus, r=brson

r?

`log` can  polymorphically log anything, but debug!, etc. requires a format string. With this patch you can equivalently write `debug!(foo)` or `debug!("%?", foo)`.

I'm doing this because I was trying to remove `log` (replacing it with nothing, at least temporarily), but there are a number of logging statements that just want to print an arbitrary value and don't care about the format string.

I'm not entirely convinced this is a good change, since it overloads the implementation of these macros and makes their usage slightly more nuanced.
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.
implement BaseIter for dlist (removing iter-trait)

Closes #2827
auto merge of #5287 : thestinger/rust/iter-trait, r=pcwalton

Closes #2827
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.)