Add cargo-init, a cabal-like template generator

This independent module  initializes cargo repositories, much alike the functionality of "cabal init" for Haskell, or "dub init" for D. It allows the user to provide a name and license for their project, and have an instantly-buildable cargo package structure built for them.

cargo-init works both interactively and via command-line arguments.
(Aha, @alexcrichton points out that this pattern allows `execute` to return `IoResult<()>` and thus use `try!` internally, which is a good thing.)