value-pairs: Get rid of magic casting that breaks strict aliasing

We used to cast custom pointers to GTrashStack**, which broke strict
aliasing in certain scenarios, leading to pretty much unpredictable
behaviour. That behaviour manifested itself in a live-lock. With this
patch, the intent does not change, but strict aliasing is not broken
either.

Reported-by: Fabien Wernli <bugzilla.balabit@faxm0dem.org>
Signed-off-by: Gergely Nagy <algernon@balabit.hu>