add data_backend field to tree
per-device and per-tree data backends. fixes #38