Don't infinitely recurse on cyclic path deps

Instead, keep a table of what we've visited and halt recursion whenever we
re-visit a package.

Closes #77
auto merge of #86 : alexcrichton/cargo/issue-77, r=wycats

Instead, keep a table of what we've visited and halt recursion whenever we
re-visit a package.