Formatting tune-up

- log.info('foo %s', bar) now uses the same printf as Formatters. This allows `log.info('%(name)s', someErr)`.
- adds %j as an alias to %O in printf
- adds %:4j JSON indent flag to printf
- Record lazy constructs more expensive fields
- Record.toJSON outputs Record.args as Record.message, so as not to duplicate