We probably will want to reenable patching of signed assemblies in the future, but it isn't important now. To get it working, will probably either have to do one of:
* Mess around with assembly loading/resolving callbacks to bypass the security check for patched assemblies, if possible
* While patching, adjust any references to patched assemblies to make them weak (remove public key)
* Restrict this functionality to only work on runtimes we can fully control (mono, possibly dotnetcore) - last resort
* Using new test-filesystem fixture to fully isolate dll's from the rest of the tooling - we should only have the test dll, the system(s) under test and their dependencies, and the mock types dll.
* Ensuring that the mock types dll is available to whatever we're patching, for peverify and any other tooling that can't be instructed where to find it
* Fixed messy and confusing list of assembly paths passed in to the patcher. Will do a more explicit and different way in future..probably an exclusion list or maybe a filter callback.
* Small improvements like switching to NiceIO where possible, using flags enum for options, tuning PE verification, simplifying mock type management, breaking out methods, reusing utilities, fixing bugs along the way
Fixing a couple issues by adding properties to the common targets:
* Pain in the ass to keep all the csproj framework versions in sync. So just update one place.
* All the csprojs were missing DEBUG being #defined as well as pdb generation (which shouldly was complaining about).