NETCONF scalability: share instances

Scalability testing shows that the netconf session code:
- retains XML document reference
- does not reuse QName instances

Change-Id: I6b58355e3fa74d67872d665d0f8dc2d16abe156c
Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-1493: Add test suite documentation

This patch adds some sorely needed documentation.

Change-Id: I2cdf5122ba861b083203f82336300736e824ca3d
Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-1493: split off recursion tracking and rework it

This patch reworks tracking of recursion state into a separate class.
This allows us to unify the four call sites and provide a simple
heuristic. A state object is allocated each time we enter a new child
and its buidlers are collected when we emerge from it -- resulting in
more accurate event reporting, eliminating false positives.

Further optimization allows us to stop recursing as soon as we know no
listeners are affected by the outcome at a particular level.

Change-Id: I2be29cebb79892c85a22e79b18c2e62f77bfb7d4
Signed-off-by: Robert Varga <rovarga@cisco.com>
Patch to eliminate sleeps in RemoteRpc tests

Instead of using sleeps to wait for message processing to complete
the tests now installs a probe on the subject(actor). Subject(actor) sends
message to the probe when it processes message. The test monitors the
probe for specific messages and knows when the message has been
processed by the subject(actor).

Patch#2: Fixed probe creation and updated assertions

Change-Id: I10652b59e4138adbe6c6821d4411b06e1b3f1598
Signed-off-by: Moiz Raja <moraja@cisco.com>
Signed-off-by: Abhishek Kumar <abhishk2@cisco.com>
Merge "BUG-1493: Add test suite documentation"
Merge "BUG-1493: split off recursion tracking and rework it"
Merge "NETCONF scalability: share instances"
Merge "Patch to eliminate sleeps in RemoteRpc tests"