Enable batch record usage in logexpect

This enables catching batch related log problems using logexpect.

This commit will make several test cases start failing until #1588 has been fixed.
Allocate request VXID only when it's needed and delay all logging
until it's been allocated.

This patch delays the VXID allocation until the time we know that we
will actually be logging anything for this request (not completely all
whitespace noise). This keeps the code in one place only (plus the ESI
mock request handling), instead of separated between the linger wait,
cache acceptor and pipelining code paths.

Coincidentally fixes the logging of timestamps problem in #1588.

Test case by daghf.

Fixes: #1581 #1588