Watch Node no longer displays "StackValue" for functions: MAGN-5033

This fix applies to more than just function objects; any instance of a DS datatype was being displayed as a `StackValue` inside of a watch node. The fix implemented in this PR looks up the class name of the `StackValue` in the VM, and uses that as the display for the Watch node.

In the case of functions, they display as "_SingleFunctionObject", which matches the preview bubbles and is what the underlying data type is for functions in DS.

#### Reviewers:
* [x] @lukechurch - Make sure I'm using ProtoCore.Core object correctly
* [ ] @ikeough
StackUtils.cs has been deleted :-), looks ``TypeSystem.GetType()`` does some checkings...can we do refactoring after the discussion about type system?