[dv, sw_logger_if] Improve tool compability
[dv, sw_logger_if] Improve tool compability

The following enhancements are made:
- Introduce `arg_t` as a combined packed array to display args with all
format specifiers, including integral and string types
- Add MAX_ARGS param to make implementation a bit more robust
- Simplify how string arg indices are indicated - use a simple bit
vector instead of associative array
- Move macro defs closer to where they are used

The side effect of the first bullet is at runtime, there is no need to
know if the arg is a string or of integral type. The conditional
argument to `$sformatf` worked with VCS but not with other tools. The
simplification now works for all tools.

Signed-off-by: Srikrishna Iyer <2803d640feace36379942447842f26c7747b4dc3@google.com>

lowRISC/opentitan,lowRISC/opentitan,lowRISC/opentitan,lowRISC/opentitan,lowRISC/opentitan,lowRISC/opentitan