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.
Also, you don't need the `try!(...); Ok(())` here, it can just be the `match` directly (what's here now is similar to writing

```rust
let foo = match ... { ... };

if foo == Ok(()) {
} else {
    return foo
}
return Ok(())
```

which is equivalent to
```rust
let foo = match ... { ... };
return foo
```

or, in Rust-style, just

```rust
match ... { ... }
```