[Datasync] Sanitize user data in platform callbacks in datasync plugin

This commit sanitize platform callbacks in case of object
expiration(destruction). For each platform callback, additional check is added
to check if object still exists. If not callback should be ignored as application
is probably quiting frame.

For every Type that is derived from ExpiringObject<Type>,
collection of instances is created to track its lifetime.

Additionally, scope exit was moved to ${root}/common/
and changed a bit.

BUG=XWALK-2796
Merge pull request #395 from tiwanek/XWALK-2796

[Datasync] Sanitize user data in platform callbacks in datasync plugin