give meaningful exit message on config parse errors the update and status subcommands
actually, that's a more general problem.  fix other instances of shoddy error handling around gitmodules parse errors.

shame the parser exception doesn't give a line number.
might as well use the constant for that
emit a warning if running `mdm update` leaves a submodule checked out on a different hash than the parent repo expects.
list all warnings about hash mismatches first, then the longform explanation just once.
resolve head of the submodule again after updating before checking success (the fetch command doesn't update the module's picture of the world)
Check if we have the version name locally already first.  (Transport can no-op fast, but it's better to not do it at all.)
changelog format consistency.
Show messages from problems encountered by  while manipulating dependency repos instead of just a nondescript count of problems.
go ahead and use that command output stream abstraction we gave ourselves
better cover merge resolution.  plain git-add during merge resolve on a submodule uses the state of the submodule.
tend towards more complete error messages in repo IO exceptions (mostly, this is looking at transport: it's useful to be told which part of transport exactly was unhappy, for example the network versus failure to find an expected remote ref).
Merge branch 'master' into stable
release version v2.16.0
Merge branch 'stable'