More convenient reparenting

Hi James,

I've been using this for a couple of things recently, and I always find myself writing the same function to listen for a login signal from Django and reparent all the stashed objects, so I thought it might deserve a place in the library.

G