clean up tempfile module and rm FIXME

This removes the FIXME suggesting that mkdtemp should rely on the
default umask, because that would make it unusable for making a secure
work area in a world writable directory (have to assume that other users
have created files, directories, hard links, etc. in your directory).
The POSIX mkdtemp function creates a directory with 700 permissions to
avoid this problem.
Implement Ord trait for Timespec
repr: represent char values as char literals rather than integers.
add a Set trait and implement it for TreeSet
add a LinearSet type (implementing the Set trait)
Merge pull request #4551 from SimonSapin/char-repr

repr: represent char values as char literals rather than integers.
Add Simon Sapin to AUTHORS
Merge pull request #4554 from thestinger/set

add a Set trait
Revert "Fix options passed to gpg in cargo init"

As per https://github.com/mozilla/rust/pull/4253

This reverts commit 6c056976678e103f23fd29557174d7718b75a617.
fix long lines
convert ast::expr into a struct
convert ast::ty into a struct
convert ast::{ty_field_,ty_method} into a struct
convert the remaining ast record types into structs

These are: region,arg,fn_decl,method,_mod,foreign_mod,
variant_arg,enum_def_,variant_,trait_ref.
convert librustc record types to structs

specifically:

freevars::freevar_entry
ty::{field_ty,AutoAdjustment,AutoRef}
mod::{method_param,method_map_entry}
Convert many libsyntax records into structs

Specifically:

ast_map::ctx
ast_util::id_range
diagnostic::{handler_t,codemap_t}
auto_encode::field
ext::base::{macro_def,syntax_expander_tt,syntax_expander_tt_item}
ext::pipes::proto::next_state
Merge pull request #4557 from thestinger/tidy-fix

fix long lines
Merge pull request #4519 from cpeterso/impl-timespec-ord

Implement Ord trait for Timespec
Merge pull request #4506 from thestinger/mkdtemp

clean up tempfile module and rm FIXME
rustc: Suppress more derived errors