BUG-509: reorganize data tree abstractions.

This patch has no functional changes, it only rearranges code such that
the flow of data and object lifecycle becomes more obvious. This will
make metadata lifecycle easier to manage.

Change-Id: I10fd912433b72e25729d163c27699a5a5c47e305
Signed-off-by: Robert Varga <rovarga@cisco.com>
Merge "BUG-509: reorganize data tree abstractions."