SI-8512 Infer a type for f"$args"

The f-interpolator gets a type param that better be Any to avoid
unfortunate widenings.

Hey, it worked!

@densh 's comments on the ticket are longer than the fix and the test.

Review by @densh

In the unit test, f"${3.14}%.2f rounds to ${3}%d", `undetParam inferred: type A as Double` and 
```
performing macro expansion scala.StringContext.apply("", "%f rounds to ", "%d").f[Double](3.14, 3.0)
```
Which I take to mean the 3 becomes 3.0 before the macro sees it.  I haven't checked yet for anything that enables undoing that conversion (like an attachment or history of some kind).  Maybe a lazy Sunday afternoon is a good time to read some code.