Don't call generic methods on trait objects

Closes #102
make clean-all via git submodule foreach
auto merge of #107 : alexcrichton/cargo/issue-102, r=wycats

Closes #102
auto merge of #108 : jdeseno/cargo/clean-submodules, r=alexcrichton

Small change. Use git's `submodule` `foreach` command to cleanup dependencies. I think this way you won't have to remember to update the makefile when a dependency is added or removed.
Fixing deprecated JSON call
auto merge of #109 : steveklabnik/cargo/json, r=alexcrichton
Enable execution without cargo in PATH

This allows usage of cargo without all the executables in your PATH, you only
need to be able to reach the first one.