Surface area test output improvements. (#2445)
Surface area test output improvements. (#2445)

Re-implemented the way the test which compares actual vs. expected
surface area works, so that when they don't match exactly, the output
only displays the members which don't match. The new output message
also shows which members were "unexpectedly present" and
"unexpectedly missing", which makes it easier to diagnose the cause
of the test failure.
syeerzy/visualfsharp,cloudRoutine/FSharp.Compiler.Service,ncave/FSharp.Compiler.Service,cloudRoutine/FSharp.Compiler.Service,brettfo/visualfsharp,dsyme/FSharp.Compiler.Service,fsharp/fsharp,alfonsogarciacaro/FSharp.Compiler.Service,dsyme/fsharp,0x53A/FSharp.Compiler.Service,fsharp/fsharp,dsyme/fsharp,forki/FSharp.Compiler.Service,brettfo/visualfsharp,Jand42/FSharp.Compiler.Service,cloudRoutine/FSharp.Compiler.Service,0x53A/FSharp.Compiler.Service,Jand42/FSharp.Compiler.Service,alfonsogarciacaro/FSharp.Compiler.Service,dsyme/FSharp.Compiler.Service,fsharp/fsharp,rojepp/FSharp.Compiler.Service,ncave/FSharp.Compiler.Service,syeerzy/visualfsharp,syeerzy/visualfsharp,sergey-tihon/FSharp.Compiler.Service,0x53A/FSharp.Compiler.Service,rojepp/FSharp.Compiler.Service,forki/FSharp.Compiler.Service,brettfo/visualfsharp,dsyme/fsharp,dsyme/fsharp,dsyme/fsharp,syeerzy/visualfsharp,alfonsogarciacaro/FSharp.Compiler.Service,brettfo/visualfsharp,sergey-tihon/FSharp.Compiler.Service,syeerzy/visualfsharp,dsyme/FSharp.Compiler.Service,dsyme/fsharp,Jand42/FSharp.Compiler.Service,sergey-tihon/FSharp.Compiler.Service,syeerzy/visualfsharp,dsyme/fsharp,forki/FSharp.Compiler.Service,brettfo/visualfsharp,ncave/FSharp.Compiler.Service,brettfo/visualfsharp,rojepp/FSharp.Compiler.Service