unit tests for custom nodes: MAGN-1588

Implemented missing tests for some custom node functionality. Namely:

Programmatically creating a custom node.
Programmatically placing a custom node instance.
Making sure instance UI stays in sync with definition (inputs and outputs).

Also, re-enabled a ton of disabled unit tests, because what's the point of having unit tests if they're disabled? (The recursive node tests are still disabled).

@lukechurch @ikeough