avoid failed encodings / stop bad charsets early

@bf4 @jeremy 

hotfix:
```Ruby
module NoInvalidEncoding
  def pick_encoding(enc)
    Encoding.find(super(enc)).to_s
  rescue ArgumentError
    "ISO-8859-1"
  end
end

class << Mail::Ruby19
  prepend NoInvalidEncoding
end
```
Right - that's elsewhere in the code. Arguably we should not be doing that either. It doesn't justify corrupting data here.