Add a StringLiteral class as a replacement for JavaWriter.StringLiteral

Advantages include:
  * References differentiate between String and StringLiteral
  * StringLiteral.toString() still allows to be directly passed to String.format, et. al.
  * You can get the value back after the literal has been passed around.