Do not special-case ExecutionRequest before we have build state

The ExecutionRequest handling was copy-pasted in both the
pre-build-state and post-build-state cases. This had two
downsides:
 1. code was in two places
 2. could result in request reordering during startup

The specific immediate concern here was reordering KeyExecutionRequest
which has to wait on state, vs. ExecutionRequest which does not.
But in general don't think there's any advantage to handling
ExecutionRequest before we have the build state.