Added new Src2SrcMLRunner2 class. This is a much simpler version of Src2SrcMLRunner. It has a simpler API and inheritance chain (just System.Object!) and works much better with multi-threaded workloads.
AbstractArchive now has a new set of protected methods that are called by the public facing APIs (AddOrUpdateFile, DeleteFile, RenameFile). Each public facing API has an "impl" protected member (for instance AddOrUpdateFileImpl).
In addition, the public APIs all have companion Async methods (AddOrUpdateFileAsync, DeleteFileAsync) that execute asynchronously.
split the Run() method into two methods: Run and RunAsync. Documented the new APIs for AbstractArchive.
Updated API documentation
Added a new "Load" method to SrcMLElement to standardize the use of "XElement.Load" across the entire codebase
Removed redundant generation methods.