BUG-509: migrate to TreeNodes

This patch performs the switchover to SPI-provided TreeNodes. It also
extracts the information needed for checking applicability of a
modification into a separate interface. Also adds some documentation in
the non-trivial write+merge path.

Change-Id: I83f5ca30bff21774759f9b675b19b6e9622076a2
Signed-off-by: Robert Varga <rovarga@cisco.com>
Merge "BUG-509: migrate to TreeNodes"