Split out NormalizedContainer
In order to support a consistent surface between ContainerNode and
NormalizedYangData (which really serve a similar purpose), we need to
make sure we have a common concept capturing NormalizedNodeContainer
without implying addressability by PathArgument.
This introduces DataContainer as a superclass of DataContainerNode,
along with NormalizedContainer, DistinctContainer and OrderedContainer
to support the attributes.
JIRA: YANGTOOLS-1472
Change-Id: Ida94334c0e8b7a776befffce62096a659ff3110b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>