* RTTI base for ngraph::Node; cherry-pick from another branch, draft
* Added comments, moved code, switched to custom RTTI-based version of is_type
* Move rtti definitions in ngraph op class to the beginning of each class definition as a preparation for the next replacement
* Migrate part of operations to new RTTI
* Migrate GroupConvolution and Concat to new RTTI
* Apply code style for ngraph part
* Rename RTTI_DECLARATION/DEFINITION to NGRAPH_RTTI_DECLARATION/DEFINITION
* Reverted accidentally updated version of mkldnn
* TMP: rewrite RTTI back to constexprions as an attempt to fix static objects initialization order issue
* Apply ngraph code style
* Finalize move back to constexpr for RTTI
* Applied code-style
* TypeRelaxed template class implementation and necessary changes in ngraph + tests.
* Applied code-style
* Fix in fast algorithm in GraphRewrite, add new tests for this and other cases
* Make parent optional parameter for NGRAPH_RTTI_DECLARATION and remove Node::type_info; remove ability to have Node as a parent for type_info
* Try to resolve compilation error on Windows
* The next attempt to fix Windows build: re-introduce get_type_info_static
* Removed file that was removed in master and kept in this branch by mistake
* Next attempt to fix Windows build: externConstexpr
* Attempt to fix win build: extra public (suspect icc bug), remove get_type_info_static as useless.
* Next attempt to fix Windows: proxy const and constexpr
* Fixed constexpr
* Next attmpts: move get_type_info to cpp file
* Code stype fix
* Re-implemented RTTI without use of constexpr; run-time initialization is used; removed global definitions to avoid issues with order of static objects initialization
* Removed externConstexpr flag and removed TRANSFOMRATIONS_API for TypeRelaxed
* get_type_info_static initializes static local constant with type_info that is used for CLASS::type_info and CLASS::get_type_info
* Removed not needed debug output and useless comments
* Implemented better copy ctor for Node
* Fixed VisualizeTree issue for TypeRelaxed: stopped using < and > in type_info::name
* Better comments and names for methods
* Remove unused include
* Remove commented line
* Workaround for legacy conversion that uses Node::get_type_info().name as a type for the resulting CNNLayer leading to incorrect types for TypeRelaxed-based operations and then to fail in plugins
* Fixed typos, explicit ctor for TypeRelaxedBase, explanation for the need of get_overridden_output_type
* Fix typo
* Fixed issue with non-static name in type definition for TypeRelaxed and fixed WrapType to make it compatible with hierarchical relations between types
* Reverted default ctor for Output and reverted ability to reduce number of outputs for a Node; syntactically better debug message for a Node
* Cover methods of TypeRelaxedBase by tests
* Apply code-style