DeferredResult now has a setErrorResult method that can be set to an Exception or an error object, error view, etc. The new isSetOrExpired() method can be used to check pro-actively if the DeferredResult is still usable or not. The setDeferredResultHandler method is now public so tests may use it. Issue: SPR-9690, SPR-9689