fails:IO.new accepts a mode argument set to nil with a valid :mode option
fails:IO.new accepts a mode argument with a :mode option set to nil
fails:IO.new raises an error when trying to set both binmode and textmode
fails:IO.new raises an error if passed modes two ways
fails:IO.new accepts an :autoclose option
fails:IO.new accepts any truthy option :autoclose
fails:IO.new raises an error if passed encodings two ways
fails:IO.new raises an error if passed binary/text mode two ways
fails:IO.new sets external encoding to binary with :binmode option
fails:IO.new accepts nil options
fails:IO.new coerces mode with #to_int
fails:IO.new coerces mode with #to_str when passed in options
fails:IO.new coerces mode with #to_int when passed in options
fails:IO.new coerces options as third argument with #to_hash
fails:IO.new coerces options as second argument with #to_hash
fails:IO.new raises ArgumentError if not passed a hash or nil for options
