Refactor PackageId.namespace -> source_id
emit -C extra-filename and metadata
Fix registry query fn
auto merge of #150 : rust-lang/cargo/source-id-cleanup, r=alexcrichton

This PR is a stepping stone towards eventual use of `--extern`, which will allow multiple packages with the same name to exist in the transitive dependency graph.