Support turning phony warnings into errors

These still default to warnings, but if a board decides to set
BOARD_BROKEN_PHONY_TARGETS := false, they'll turn into errors. More
likely I'll just be marking the broken targets as broken, then switching
the logic here to be like the dup rules warnings/errors.

Test: On a build with warnings, try <missing>, "false", and "true"
Change-Id: I041e1ff4618c4114ec43015b6c0ae1b49b36b6f8
diff --git a/ui/build/config.go b/ui/build/config.go
index c171a67..2605f5b 100644
--- a/ui/build/config.go
+++ b/ui/build/config.go
@@ -50,8 +50,10 @@
 	targetDevice    string
 	targetDeviceDir string
 
-	pdkBuild       bool
-	brokenDupRules bool
+	pdkBuild bool
+
+	brokenDupRules     bool
+	brokenPhonyTargets bool
 
 	pathReplaced bool
 }
@@ -577,6 +579,14 @@
 	return c.brokenDupRules
 }
 
+func (c *configImpl) SetBuildBrokenPhonyTargets(val bool) {
+	c.brokenPhonyTargets = val
+}
+
+func (c *configImpl) BuildBrokenPhonyTargets() bool {
+	return c.brokenPhonyTargets
+}
+
 func (c *configImpl) SetTargetDeviceDir(dir string) {
 	c.targetDeviceDir = dir
 }