- Use File.Sheets for iteration in File.MarshalParts instead of File.Sheet, to
  maintain stable ordering of sheets (this stops random test failures)

- Used Sheet.Name instead of the key from File.Sheets, because of iterating
  over File.Sheets instead of File.Sheet.

- Fix a bug where Sheet.Name is not set when calling File.AddSheet(name).