5245: Refactor AssistBuilder to manage a SourceChange r=matklad a=theduke `AssistBuilder` now managaes a full `SourceChange` instead of a `Vec<SourceFileEdit>`. This prepares AssistBuilder to handle creation of new files. Co-authored-by: Christoph Herzog <chris@theduke.at>