log: LogRecord

The logging macros now create a LogRecord, and pass that to the Logger.

DefaultLogger's formatting was taken from Python's default formatting:
`LEVEL:from: message`

Also included: fmt::Arguments now implement Show, so they can be used to
extend format strings.