Fixed __validate_stdin_value to use ducktyping to allow assignment of StringIO.
Fixed Kernel#gets to use $stdin, not STDIN.

STDIN should only be used to hold onto the original. Nothing more.
Merge pull request #299 from zenspider/fix_stdin_and_gets

Fixed $stdin = StringIO.new and Kernel#puts not using $stdin.