Change initializations to use ExecutionAndPublication
Change initializations to use ExecutionAndPublication

This should be okay. Two risks: 1) if locking code ever gets introduced
into the actual constructors (unlikely), there could be deadlocks, and 2)
we're changing the exception caching mode so that exceptions will be
cached and re-thrown on subsequent attempts to initialize the Lazy, which
is probably fine. We don't see any initialization errors today.

hudl/Mjolnir