25697 Updates to support Perforce workflow in 3ds Max

Minor changes to support Perforce integration in 3ds Max plus a bug fix to the save-as dialog.
This implies that not_editable_reason is `None` in some cases - what does this signify? 
Seems like the calling method should always provide a not_editable_reason in case the item isn't editable - so how about this code instead?

```
if not editable:
   self.ui.locked_label.setToolTip(not_editable_reason)
```

Also, maybe the default param value for the method should be None instead of any empty string? 
( `def set_is_editable(self, editable, not_editable_reason = None):`