Always evaluate runtime fields in logging context

Do away with Logger.runtime and simply evaluate all runtime fields in
the logging context. This means that sync/async mode is always
dictated by the sync flag, and the user must be aware of using any
runtime fields and slowing down the logging context.

The runtime fields are evaluated and saved in the request type and
passed along to the record type.