Correct the ordering of operations

A check for one operation creating a repo at a path that is a prefix of
another create operation was added to the Less implementation on
operations. However, is-a-prefix-of is not a total ordering, and so Less
then also failed to be. This was causing the erratic and incorrect
sorting behavior.

This patch drops the dependence on package name and instead simply sorts
on the lexigraphical ordering of operation type followed by package path.

Change-Id: I84812358bf2b131a062c2fe67a2dad73bb7d9a8c
diff --git a/project/project.go b/project/project.go
index 8aa4152..1feca1c 100644
--- a/project/project.go
+++ b/project/project.go
@@ -1585,7 +1585,7 @@
 }
 
 // Less defines the order of operations. Operations are ordered first
-// by their type and then by their project name.
+// by their type and then by their project path.
 //
 // The order in which operation types are defined determines the order
 // in which operations are performed. For correctness and also to
@@ -1612,17 +1612,7 @@
 	if vals[0] != vals[1] {
 		return vals[0] < vals[1]
 	}
-	if vals[0] == 2 && vals[1] == 2 {
-		pathI := ops[i].Project().Path
-		pathJ := ops[j].Project().Path
-		if strings.HasPrefix(pathI, pathJ) {
-			return false
-		}
-		if strings.HasPrefix(pathJ, pathI) {
-			return true
-		}
-	}
-	return ops[i].Project().Name < ops[j].Project().Name
+	return ops[i].Project().Path < ops[j].Project().Path
 }
 
 // Swap swaps two elements of the collection.