checkpoint
Fix a bug where calling p.destroy() on the result of calling
start_program(...) would cause a segfault when p went
out of scope due to out_file/err_file being closed twice.
Update doc-comments to reflect the current year and trait
names now being capitalized.
Change the behaviour of core::run::Program.destroy to
forcibly terminate the program (as suggested in issue #5632)
Feed enum field offsets to type vistors.
Export adt::trans_get_discr abstractly to the type visitor.
When repr'ing an enum value, assert that it matched some variant.
Make the enum visit callback generator more readable
Make intrinsic::Opaque more opaque
Add #[start] attribute to define a new entry point function
Change tests to use new error message
Reason about nested free variables that appear in a function
signature.  In a nutshell, the idea is to (1) report an error if, for
a region pointer `'a T`, the lifetime `'a` is longer than any
lifetimes that appear in `T` (in other words, if a borrowed pointer
outlives any portion of its contents) and then (2) use this to assume
that in a function like `fn(self: &'a &'b T)`, the relationship `'a <=
'b` holds. This is needed for #5656.  Fixes #5728.
Issue #5656: Make &self not mean "&'self self"

Fixes #5656.
Fixes #5541.
core: changes in response to #5656
libstd: changes to in response to #5656
tests: changes in response to #5656
Add check for 'file' command which is necessary for 32-bit userspace detection.
Implement Finally for ~fn and @fn types
Make destroy() send SIGTERM and add a new method called
force_destroy() that sends SIGKILL - as suggested by 
@thestinger.
auto merge of #5843 : brson/rust/llvm, r=thestinger