Fix `cargo test` with a dylib when run twice

The filename of the test for a dylib wasn't being calcuated correctly, so when
freshness was copying data over it ended up copying the same file twice.
Print unknown errors with --verbose
Only copy over the native output directory once

Previously it was copying once per target, not once per package.
auto merge of #249 : alexcrichton/cargo/fix-test-twice, r=wycats

These are both related to destroying the build directory and then recreating it.