WFLY-3888 enhance timer logging, show the full timer information for ERROR and WARN

cache the part of the string which is final and only replace the dynamic values.

https://issues.jboss.org/browse/WFLY-3888
Add class instantiation the string is prepared with all final values. 
Only STATE and NEXT_EXPIRATION must be calculated for each toString invocation.
So "%%s" is converted to "%s" with the first invocation and replaced with the real values during toString() invocation.