Port Undo/Redo Stacks to Gee.ArrayList from GLib.SList

https://bugzilla.gnome.org/show_bug.cgi?id=733020