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.
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.
Remove @ast::Region and replace with @ast::Lifetime.
Modify pretty-printer to emit lifetimes and fix a few minor
parser bugs that this uncovered.