(PUP-391) Ruby 2 exception type changed to EISDIR

 - File.open now raises EISDIR when a path is a directory, prior to
   verifying permissions in Ruby 2.  Files continue to return EACCESS.