logging tests a bit more reliable
track exceptions during transactions on filesystem

basically this uses the filesystem as a sidechannel to get around the
fact that IPython doesn't let you send much information back in
exceptions, but we still need to have exceptions be raised in order for
`retries` to work properly.