Adding an EarlyEofExceptionMapper

This is essentially just a rebase of #385 against latest master, with the response code changed from a 204 to a 400 as per the discussion in the original PR.