merge internal functions into onItemRemoved
retreive parent info before yield in onItemRemove

If the last child of a tag folder is being removed, the folder itself
will be removed next. It will likely be not available after the async
call resumes onItemRemove, so let's obtain the information we'll need
before async calls.
Add Denis Lisov as a contributor.