fix broken GValue setters and make setter methods public

I suggest paying attention to warnings printed by GTK, in my experience they almost always indicate bugs.
It was supposed to stay private since you can use this method indirectly with the GValuePublic trait. See the prodivided example (treeview).