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.
Merge pull request #30 from Tanriol/fix-untagging

Fix removing tags that was broken by bookmark observer API changes, namely the obsoletion of nsINavBookmarkObserver.onBeforeItemRemoved().