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