Fixed type signature of uninhabited method.

Added unit test to prevent similar mistakes from happening again. The
previous method was wrong because it dereferenced a pointer to a void type to
match on the result. No self pointer was needed, and the correct method
signature took the self value by value.
Issue #5967: Make rvalues mutable
Add explanatory comment to is_rvalue_or_immutable()
rustpkg: Implement URL-like package IDs

This patch implements package IDs like
github.com/catamorphism/test-pkg.

To support such package IDs, I changed the PkgId struct to contain
a LocalPath and a RemotePath field, where the RemotePath reflects
the actual URL and the LocalPath reflects the file name of the cached
copy. Right now, the only difference is that the local path doesn't
contain dashes, but this will change when we implement #6407.

Also, PkgIds now have a short_name field -- though the short name
can be derived from the LocalPath, I thought it was cleaner not to
call option::get() wantonly.
rustpkg: Tests for well-formed and ill-formed package IDs...

...and cleanup, making how we handle version numbers more rational
(specifically, not passing in a versioned name to rustc
with the -o flag), and removing unused code.
vim: swap operator is gone
vim: no more drop blocks
vim: `be` is still a reserved keyword
clone: clarify docstring
add a DeepClone trait

for deep copies through shared ownership boundaries
Allow static strings to be used with keyword checks
rc: fix tests
remove deriving_eq, deriving_iter_bytes, deriving_clone (deprecated in 0.6)
Merge type_span and type_def, and ditto with value_span and value_def
rename `at_vec::from_owned` and `at_vec::from_slice` to `at_vec::to_managed_consume` and `at_vec::to_managed`
Add unsetenv wrapper
auto merge of #6495 : thestinger/rust/vim, r=luqmana
Remove stray binary
auto merge of #6498 : thestinger/rust/deep_clone, r=thestinger

This is mostly for `std::rc` and `std::arc` (but I haven't implemented it for ARC yet).

Implementing it correctly for managed boxes is *very* non-trivial. It would probably require an unholy mix of reflection and TLS.
add a Clone impl for borrowed pointers