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.
Allow static strings to be used with keyword checks
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
Remove stray binary
add a Clone impl for borrowed pointers
auto merge of #6418 : catamorphism/rust/rustpkg, r=catamorphism

r? @brson 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.
auto merge of #6499 : dotdash/rust/static_keywords, r=thestinger
syntax: deprecate #[auto_{en,de}code] in favour of #[deriving({En,De}codable)].

Replace all instances of #[auto_*code] with the appropriate #[deriving] attribute
and remove the majority of the actual code, leaving stubs to refer the user to
the new syntax.
rustpkg: Reorganize test files
auto merge of #6500 : kud1ing/rust/cleanup, r=bstrie

Fixes #6445
rustpkg: ignore tests on i686, since they fail
allow constructing Rc/RcMut from Const types too
auto merge of #6501 : june0cho/rust/incoming, r=graydon

Fix #3783.
add DeepClone impl for @T and @mut T with T: Const
auto merge of #6502 : huonw/rust/no-auto-code, r=graydon

Replace all instances of #[auto_*code] with the appropriate #[deriving] attribute
and remove the majority of the actual auto_* code, leaving stubs to refer the user to
the new syntax.

Also, moves the useful contents of auto_encode.rs to more appropriate spots: tests and comments to deriving/encodable.rs, and the ExtCtxtMethods trait to build.rs (unused so far, but the method syntax might be nicer than using the mk_* fns in many instances).
auto merge of #6503 : sonwow/rust/at_vec-renamed, r=graydon

`str::from_slice` and `vec::from_slice` are changed to `str::to_owned` and `vec::to_owned`. (#6389)

Replace `at_vec::from_owned` and `at_vec::from_slice` with `at_vec::to_managed_consume` and `at_vec::to_managed`.