Renamed BackgroundProcess back to AbstractExternalTool since a new BackgroundProcess class will be re-written from scratch.
Minor/ignore - fixed casing style of variable in ArgumentList.cs
Handle null in ArgumentList.AddAll()
Moved JobObject.Close() functionality into .Dispose(bool)
Minor/ignore - Added links to additional Stack Overflow page in JobObject.cs
Minor/ignore - slight wording tweak on region label in JobObject.cs
Added Finalize() method to JobObject
Added BackgroundProcess.cs and ProcessExtensions.cs to ProcessUtils project
Minor/ignore - Rearranged DLL imports and added regions to JobObject.cs
Moved AssemblyUtils from BDAutoMuxerCore to DotNetUtils project
Renamed BackgroundProcess to NonInteractiveProcess
Renamed BackgroundProcessState to NonInteractiveProcessState
Added lots of methods to AssemblyUtils
Added JetBrains ReSharper's Annotations.cs to all library projects
Added BackgroundProcessWorker.cs
Removed invalid "public" before JobObject.Finalize()
Minor/ignore - Clarified Track.Index as zero-based
Hopefully better thread safety around use of _progress field in BackgroundProcessWorker
Minor/ignore - Added XML-doc comment to NonInteractiveProcess.AfterOutputLineHandled()
Added BeforeStart event to NonInteractiveProcess