Add --use-submodules option to `carthage checkout`

Resolves #56.

**To do:**

 - [x] ~~Skip recursive cloning for non-submoduled dependencies that live in `Carthage.checkout` (i.e., smartly omit Carthage-managed submodules from normal recursive checkouts)~~
 - [x] Honor submodules already present with `carthage checkout`

/cc @mdiep 
I’m going to open a PR on LlamaKit for a `Result.try { error in … }` constructor.