Use TimeSpan::TotalMilliseconds when converting to TimeDuration

Fixes an effective infinite loop when running CLR bindings as was using
Milliseconds component only, which will usually be 0.
Fix printing update value to Console

Was printing the generic type name. Alternative would be to override
ToString on each value class.