support nil charset

noticed nil failing when dropping the 772 fix into our mail parser project

@bf4 
Why do you prefer casting to a string rather than adding a `when nil then Encoding::BINARY` or 

```ruby

      def convert_to_encoding(encoding)
        if encoding.is_a?(Encoding)
          encoding
        elsif encoding.nil?
          Encoding::BINARY
        else
          begin
            Encoding.find(encoding)
          rescue ArgumentError
            Encoding::BINARY
          end
        end
      end
```