Better submodule handling in ci:setup

* Checkout git submodules as a DRY rake task.

* Simplify CONTRIBUTING.md and describe warning
  when running `bundle install` for the first time.

Future-proof the test harness:

* Sync submodule URLs in case a future commit changes
  the remote URL of a submodule.

* Atomically update and init git submodules, including
  submodules of submodules.