Split Args#add into three methods.

Args#add(value, *, arg, format)
Args#add_all(value, *, arg, map_each, format_each, before_each, omit_if_empty, uniquify)
Args#add_joined(value, *, arg, join_with, map_each, format_each, format_joined, omit_if_empty, uniquify)

The old Args#add remains backwards compatible, but we add a flag to disable this compatibility mode.

RELNOTES: None
PiperOrigin-RevId: 191804482
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Printer.java b/src/main/java/com/google/devtools/build/lib/syntax/Printer.java
index 52a466b..697248a 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Printer.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Printer.java
@@ -67,6 +67,15 @@
    * @return new {@link BasePrinter}
    */
   public static BasePrinter getPrinter() {
+    return new BasePrinter(new StringBuilder());
+  }
+
+  /**
+   * Creates an instance of {@link BasePrinter} with an empty buffer.
+   *
+   * @param simplifiedFormatStrings if true, format strings will allow only %s and %%
+   */
+  public static BasePrinter getPrinter(boolean simplifiedFormatStrings) {
     return getPrinter(new StringBuilder());
   }