Refactor: libcrmcommon: Store known_schemas as a GList.
Instead of managing our own array with realloc, use GList and the
various glib list functions.
In many places, this makes the code easier to follow - we can simply
iterate over the list and do something on each node. In other places,
we're still relying on list indices too much to help. Those spots can
probably be cleaned up in future commits.