Use Diorite.SingleList to store objects

GLib.SList doesn't do unref in remove() method.

Signed-off-by: Jiří Janoušek <janousek.jiri@gmail.com>