Correct prestreaming controller response status.

if the controller action has not yet streamed any data, actions should
process as normal, and errors should trigger the appropriate behavior
(500, or in the case of ActionController::BadRequest, a 400 Bad Request)
Merge pull request #14000 from Fortisque/kevin/stream_error_management

streaming should change status of response when exception is caught