BUG-3263: Split off Fixed/Stacked YangInstanceIdentifier
This patch makes YangInstanceIdentifier an abstract class, with two
subclasses: FixedYangInstanceIdentifier and
StackedYangInstanceIdentifier.
The fixed version uses an internal ImmutableList and derives efficiency
from it to the maximum extent allowed.
The stacked version stores a reference to the parent identifier and the
last path argument. It caches the support classes which provide
getPathArguments and getReversePathArguments.
Also introduce a getParent() method, as it can now be implemented
efficiently.
Change-Id: I0c4a771e74d031cae0b53a7f97221213222729f6
Signed-off-by: Robert Varga <rovarga@cisco.com>