Always update deps after bottom-up mutators run.

This fixes a bug where a split module could be reached by subsequent
mutator passes, but it is no longer in module group's list of modules.

Change-Id: I74c3d849ed2614dcdb6f54a6760122b933bb84c2
diff --git a/context.go b/context.go
index b98ffbe..811ce76 100644
--- a/context.go
+++ b/context.go
@@ -1377,11 +1377,13 @@
 func (c *Context) runBottomUpMutator(config interface{},
 	name string, mutator BottomUpMutator) (errs []error) {
 
-	dependenciesModified := false
-
 	for _, module := range c.modulesSorted {
 		newModules := make([]*moduleInfo, 0, 1)
 
+		if module.splitModules != nil {
+			panic("split module found in sorted module list")
+		}
+
 		mctx := &mutatorContext{
 			baseModuleContext: baseModuleContext{
 				context: c,
@@ -1405,10 +1407,6 @@
 			}
 		}
 
-		if mctx.dependenciesModified {
-			dependenciesModified = true
-		}
-
 		if module.splitModules != nil {
 			newModules = append(newModules, module.splitModules...)
 		} else {
@@ -1418,11 +1416,9 @@
 		module.group.modules = spliceModules(module.group.modules, module, newModules)
 	}
 
-	if dependenciesModified {
-		errs = c.updateDependencies()
-		if len(errs) > 0 {
-			return errs
-		}
+	errs = c.updateDependencies()
+	if len(errs) > 0 {
+		return errs
 	}
 
 	return errs