Allow to set arbitrary status code for Exception strategy

While working on ZfrRest, I realized Exception strategy always set the response status code to 500, even if another status code was set after an error (for instance in another listener).

This PR set 500 status code if the Response did not exist, and if it already exists, it sets it to the set status code, hence not always overriding it.