core: Add remove_directory_recursive, change copy_file

Make copy_file preserve permissions, and add a remove_directory_recursive
function.
rustpkg: Implement install command

The install command should work now, though it only installs
in-place (anything else has to wait until I implement RUST_PATH).
auto merge of #6124 : catamorphism/rust/rustpkg, r=catamorphism

r? @graydon