* removed NodeDataModel::clone(), using a more classic Factory/Builder pattern.
* trying to make visual studio happy
* Allow the DataModelRegistry to use static method Name() if defined
* use modern type_traits
* Automatic type cast node insertation working in a basic manner
* Port paint fix to handle convertible types
* Code cleanup, documentation,, and minor fixes
* Fixing master merge
* Master merge fix 2
* Master merge fix 3
* Code style fixes
* Fixing logic error, where typecast node with the same input-output types were permitted
* Fixes based on @russelltg 's suggestions
* Got rid of unique_ptr static_casts
* Partial fixes from the code review
* Merging master into branch vol. 3