move streaming out of mock middleware

now any middleware can set datum[:response] and get streaming
closes #207