Bug 629: Introduction of Configuration Commit Handler

One piece of functionality which was not-well defined
in original APIs and was missing in new APIs is
user-submitted commit handlers.

Contract of Commit Handlers was updated to reflect
more existing concept of three-phase commit and
to allow commit handlers only for configuration
subtree.

Access to proposed data is done via read-only
transaction instead of data change event,
since commit handlers may want to cross-reference
data with other and we need to capture this reads
as preconditions for later commit phases.

Change-Id: Id2049c05384dd74792f3cfbbb9f77bf684223be2
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Merge "Bug 629: Introduction of Configuration Commit Handler"