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 
It's mutated on this branch. But also, [value types are immutable](https://github.com/jspahrsummers/enemy-of-the-state/blob/8ea74c6f21eee54132bb33c638c537c767419433/Enemy%20of%20the%20State.md#value-types-are) anyways. :wink: