Fixed IDE diff markers being cached too long
What does this MR do?
Previously the dirty diff markers in the IDE would be cached for indefinite amount of time. This meant when discarding a files changes when the file is closed they would never update.
This changes that by removing the cached decorations when the model is disposed. This ensures that every time a file is closed & then re-opened the decorations are re-calculated and then cached again.