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)
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.
Add some more generated files to the .gitignore file
auto merge of #5859 : huonw/rust/gitignore, r=catamorphism
Suppress a bunch of valgrind errors
auto merge of #5839 : bjz/rust/master, r=brson

r? @brson
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"]
```
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.
Clarify purpose of NumCast trait
Generate NumCast impls and tests using macros
Add a test to show how NumCast can be used in type parameters
Remove trailing whitespace
Restore Num trait

This restores the trait that was lost in 216e85fadf465c25fe7bc4a9f06f8162ec12b552. It will eventually be broken up into a more fine-grained trait hierarchy in the future once a design can be agreed upon.
Consolidate tests of numeric operations
Remove unnecessary enclosing modules for NumCast impls