Bug 1027: Improved instance identifier codec for augmentations

InstanceIdentifierCodecImpl
Updated instance identifier codec to also create context
for child nodes of augmentation when augmentation is
for first time encountered in new context.

Improved structure of instance identifier codec to be bit
more readable and which allows for reuse.

LazyGeneratedCodecRegistry
Updated AugmentableDispatchCodec to try serialization
of InstanceIdentifier to augmentation when new
location is discovered and report back if serialization
failed.

Added documentation to adaptForPathImpl, renamed parameters
to be more readable.

Change-Id: Ie55b163a4ab617b82dd89ed85a504e104f147fe8
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
BUG-990: fixed deserialization of enums.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
BUG-973: fixed (de)serialization of union type.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
BUG-1172: nested uses-augmentation fails in code-generation phase.

Added test case.

Change-Id: I22e506fcaf4f643f5cecb995e3e5f0e5d8ef1fa8
Signed-off-by: Martin Vitez <mvitez@cisco.com>