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
Make destroy() send SIGTERM and add a new method called
force_destroy() that sends SIGKILL - as suggested by 
@thestinger.
add rustdoc comments with examples for the string versions of to_base64 and from_base64
rustpkg: Factor out tests; use a condition instead of returning an option

Pulled out tests into their own modules inside the files they test,
as per the draft style guidelines.

Started a new module, path_util, for utility functions to do with
paths and directories.

Changed default_dest_dir to use a condition and return Path
instead of Option<Path>.
Add comments for the implementations of from_base64 and to_base64 for .
fix index out of bounds error of x86_64 ABI
initial iterator object library
librust: make `rust run file.rs` past any extra arguments to the compiled program.
auto merge of #5863 : huonw/rust/rust-run-args, r=thestinger

e.g. 
```
$ cat echo.rs
fn main() {
   io::println(fmt!("%?", os::args()));
}
$ rust run echo.rs 1 2 3
~[~"./echo~", ~"1", ~"2", ~"3"]
```
librusti: only use std::rl if stdin is connected to a tty.
auto merge of #5761 : Dretch/rust/murder-death-kill, r=thestinger

As proposed in issue #5632.

I added some new stuff to libc - hopefully correctly. I only added a single signal constant (SIGKILL) because adding more seems complicated by differences between platforms - and since it is not required for issue #5632 then I figure that I can use a further pull request to flesh out the SIG* constants more.
move rustdoc comments so that they attach to the functions rather than the impl blocks.
Avoid excessive allocations and copies in iter::to_vec

The foldl based implementation allocates lots of unneeded vectors.
iter::map_to_vec is already optimized to avoid these.