Workaround for CSV#generate encoding issue.

Hi,
It seems downloading Shift-JIS encoded csv doesn't work. A csv file with Japanese characters needs to be Shift-JIS to open in Excel, although it is compatible with UTF-8. Please take a look at the following code.

```
irb(main):002:0> s = CSV.generate(encoding: 'SJIS') do |csv|
    csv << ['あ']
  end
=> "あ\n"

irb(main):004:0> s.encoding
=> #<Encoding:UTF-8>
```

The string returned in the yielded block of CSV#generate must be encoded as 'Shift-JIS' to keep the encoding. Here's the related code in ruby stdlib.

CSV#generate is here.
http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV.html#method-c-generate

CSV#<<, which is used to add csv rows, is here.
http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV.html#method-i-3C-3C

After this change is merged, the result will be like this.
```rb
irb(main):002:0> s = CSV.generate(encoding: 'SJIS') do |csv|
    csv << ['あ'.encode('SJIS')]
  end
=> "\x{82A0}"

irb(main):004:0> s.encoding
=> #<Encoding:Windows-31J>
```
Could you consider to merge this change as workaround?