Report printf specifiers from Service API

Close #174.

The PR seems to cover the most important cases: 
 - regular vs. verbatim vs. triple-quote strings
 - single-line vs. multiline strings
 - built-in printf functions vs. printf-like user-defined functions

One thing isn't very nice: ASTs don't preserve information whether a string is regular, verbatim or triple-quote. Consequently, we have to lookup the source string to recover that information and create correct offsets for reporting ranges.
They aren't only textual changes. Relative columns (`relCol`) needs to be synchronized with index (`i`). There are multiple functions that increase `i` and use shadow bindings. Perhaps I should keep the bindings in a flat structure. I thought it's less error-prone to minimize scopes of shadow bindings.