Merge custom nodes implementations

Conflicts between two implementations were resolved. Server-independent implementation was used as the base. Command to send custom nodes to Dynamo server was added. I'll provide more comments inline.
We can leave this as is for now.  Essentially what we need is a way to describe workspace metadata.  One example of this today is the ability to rename a Workspace from the WorkspaceTabView.  We'll need to extend that.