core: Use a hashtable to store metadatakeys

Do not use a GParamSpecPool for it, as this class does not have a way to free
it.

Instead, use a GHashTable.