GDataSet: silently accept NULL/0 as keys

This used to be the behaviour before we made these functions
threadsafe; keep it that way.

https://bugzilla.gnome.org/show_bug.cgi?id=737741
GDataSet: Add more tests

These tests exercise the NULL key fix from the previous commit.