Change Tuple ownership implementation
- Replace intrusive reference counting of Tuples with std::shared_ptr
- Use a single boost multi-index map to keep track of Tuples
- prefer invoke, avoid std::function if possible, when applying 'callables' to objects.
Edited by Gerhard Raven