glib-2.0: add GLib.HashSet

This is basically just a convenience wrapper around GLib.HashTable
where the key and value are set to the same value, providing a set
data type instead of a map.

Fixes bug 686609.
glib-2.0: add HashTable.take and length