Fix MAGN-2317

@lukechurch

This submission takes use of the following commit:
https://github.com/DynamoDS/Dynamo/commit/a567190311f09f4a8c7acab087d27a94783471d6

The submission make some changes to the original code to fix several errors because some code has changed ever since.

This submission fixes magn-2317.
static patterns are something of a problem with the way Revit loads dynamo. Singletons at least give us the chance to dispose of the internal objects in a reliable manner, even though it's not effectively used here.