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
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.
rustpkg: Use pkg IDs, remove old code for now that required packages to declare IDs explicitly

This is preliminary work on bringing rustpkg up to conformance with #5679
and related issues.

This change makes rustpkg infer a package ID from its containing directory,
instead of requiring name and vers attributes in the code. Many aspects of it
are incomplete; I've only tested one package (see README.txt) and one command,
"build". So far it only works for local packages.

I also removed code for several of the package commands other than "build",
replacing them with stubs that fail, since they used package IDs in ways that
didn't jibe well with the new scheme. I will re-implement the commands one
at a time.
rewrite the ffi tutorial with snappy as an example

The example with OpenSSL is incorrect, because OpenSSL is using a
static variable for the return value and isn't thread-safe.

The gettimeofday example isn't great because it's not very portable.