Be more careful before executing nil.delete on trail cache

Might be the case where someone else addressed a similar problem as I did in #166 and ended up trying to delete the same (or related object) twice.

Effectively at some point, we get a nil, and nil#delete throws an exception.

Not knowing who has the better bug fix, here's one way to ensure we only execute #delete when we actually have an object.