Replace shallow *_dup calls with g_memdup2 or g_new0
For a shallow copy, it's far simpler to just call g_memdup2 directly.
In a couple cases where most fields are replaced after, it's simpler to
allocate a new struct entirely and just copy the one or two fields from the
original.
PidginandFinch:ThePimpin' Penguin IM Clients That'reGoodfortheSoul