misc/ruby-mode.el: Improve `ruby-mode-set-encoding`.

* misc/ruby-additional.el (ruby-mode-set-encoding): Add support
  for `prefer-utf-8` which was introduced in Emacs trunk.

* misc/ruby-additional.el (ruby-encoding-map): Add a mapping from
  `japanese-cp932` to `cp932` to fix the problem where saving a
  source file written in Shift_JIS twice would end up having
  `coding: japanese-cp932` which Ruby could not recognize.

* misc/ruby-additional.el (ruby-mode-set-encoding): Add support
  for encodings mapped to nil in `ruby-encoding-map`.

* misc/ruby-additional.el (ruby-encoding-map): Map `us-ascii` and
  `utf-8` to nil by default, meaning they need not be explicitly
  declared in magic comment.

* misc/ruby-additional.el (ruby-encoding-map): Add type
  declaration for better customize UI.

* misc/ruby-mode.el: Ditto for the above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e