rustc::driver: Remove two @s
syntax::diagnostic: Remove unnecessary traits

This removes trait `handler` and `span_handler`,
and renames `HandlerT` to `Handler`, `CodemapT` to `SpanHandler`.
syntax::diagnostic: Remove @ from Emitter
syntax::codemap: Add static DUMMY_SP

It replaces `dummy_sp()`.
syntax: expand impl_pretty_name to handle more cases.

The resulting symbol names aren't very pretty at all:

    trait Trait { fn method(&self); }
    impl<'a> Trait for ~[(&'a int, fn())] { fn method(&self) {} }

gives

    Trait$$UP$$VEC$$TUP_2$$BP$int$$FN$$::method::...hash...::v0.0

However, at least it contain some reference to the Self type, unlike
`Trait$__extensions__::method:...`, which is what the symbol name used
to be for anything other than `impl Trait for foo::bar::Baz` (which
became, and still becomes, `Trait$Baz::method`).
auto merge of #11254 : huonw/rust/impl-names, r=brson

The resulting symbol names aren't very pretty at all:

    trait Trait { fn method(&self); }
    impl<'a> Trait for ~[(&'a int, fn())] { fn method(&self) {} }

gives

    Trait$$UP$$VEC$$TUP_2$$BP$int$$FN$$::method::...hash...::v0.0

However, at least it contain some reference to the Self type, unlike
`Trait$__extensions__::method:...`, which is what the symbol name used
to be for anything other than `impl Trait for foo::bar::Baz` (which
became, and still becomes, `Trait$Baz::method`).
auto merge of #11255 : klutzy/rust/small-cleanup, r=pcwalton

This patchset removes some `@`s and unnecessary traits,
and replaces a function (`dummy_sp()`) returning constant value
by static variable.
Committing standard compare/to_str/clone features, but no tests yet.

Wrote some tests for the compare/clone/to_str methods.

Took out doc comments around tests.

Don't allow impls to force public types

This code in resolve accidentally forced all types with an impl to become
public. This fixes it by default inheriting the privacy of what was previously
there and then becoming `true` if nothing else exits.

Closes #10545

Committing to show work in progress.  Everything is still messy,
but I want to take this opportunity to get feedback from relevant
parties if I can.

Recommitting after a bad commit that unnecessarily changed files.
Added more robust compare and equals for Branch and Leaf, as well
as some style changes.
Cleanup: removing features that aren't needed, and removing lines that
were eventually commented out anyway.
Cleaning up whitespace errors.
Merge branch 'btree' of http://github.com/niftynif/rust into btree

Conflicts:
	src/libextra/btree.rs