.NET 3.5 support and fixes

.NET 3.5 support and fixes

Also breaks UnboxAny test (because it is a false expectation), and introduces new broken test for complex branching (stack tracing)