Ensure Agent#response_read does not lose page on bad content-length

Before this commit invalid content length (that is, length which does
not match Content-Length header) would raise an EOFError and as a
side effect, lose all page content. This will now instead raise
a Mechanize::ResponseReadError which you can then force parse the
response through. Like so:

    begin
      page = agent.get 'http://google.com'
    rescue Mechanize::ResponseReadError => e
      page = e.force_parse
    end

closes #296