Treat .NET properties the same way as F# ones

Fix #289.
Pass snapshot around to be robust against text changes
Merge pull request #420 from dungpa/print-dotnet-properties

Treat .NET properties the same way as F# ones while implementing interfaces