Improve and add some File.expand_path specs for encoding
Fix File.expand_path on 1.9 and later for encoding

Fixes #2597

Note
----

Can't replace `path.to_s` to `StringValue(path)` for user's
subclasses of String.
Because `Type.coerce_to` checks with `kind_of?`, not `instance_of?`.
Refactor File.expand_path
Merge pull request #2599 from kachick/fix-file-expand_path-encoding

Fix #2597