Various fixes to handle tracepoint cleanup. It is important to note that it is
most common that USDT providers will be cleaned up (asynchronously) when the
process/task they relate to is already gone. We therefore cannot use a (pid,
addr) pair to identify the tracepoint for removal. The new implementation
stores the (inode, offset) pair calculated right before registering the uprobe,
so that we can use that same pair again when unregistering.
Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>