basic tagged storage

it can be used to safely wrap/store/pass any C++ objects as opaque
handles used in a C API

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@jollamobile.com>
Signed-off-by: Denis Zalevskiy <denis.zalevskiy@jolla.com>