Added Signature.IsOriginalAssembly.
Replaced ConcurrentQueue and on-demand recursive processing thread with BlockingCollection and LongRunning Task; replaced List with HashSet in Library.Files, because a lot of Contains() calls are made in the background, and List is O(n) while HashSet is O(1) at that.