made all File.Open methods mimic core framework semantics as closely as possible

The current implementation had "Please implement" exceptions, so I investigated how the core framework utilizes File.Open and realigned them as closely as possible with the core framework semantics.