Add checkout/update/bootstrap flag for submodules
Implement submodule addition for `checkout`
Fix submodule revision not being honored
Fix submodule remote URLs after cloning
Identify existing submodules and check them out
Fix checking out submodules previously committed

If you commit a submodule, then remove its directory, we can run into
an error trying to `git submodule add` it again. Ignore those.
Allow Git callers to filter submodules to clone
Ignore Carthage.checkout folders in submodules
Revert "Ignore Carthage.checkout folders in submodules"

This reverts commit 59a405d10e57b1e8304a4ceb0e7e8f84e3075719.
Recursively clone submodules with --use-submodules
Merge remote-tracking branch 'origin/master' into carthage-managed-submodules
Merge pull request #118 from Carthage/carthage-managed-submodules

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