Support metadata as a specific case of data
Metadata is now just a specific case of data that is copied when it becomes unavailable and that is freed when a new value becomes available
- plugins now receive events for metadata
- no need for double data exposure in the example anymore
- keeping data for asynchronous processing should be quite similar to metadata handling (ref counting required)
- updated TODO
In order to update the plugins, I had to base this on branch feature-FTI_transaction, so please consider this after !20 (merged) only