CompletionModel: new implementation
Free return value of gtk_source_completion_model_get_providers()

In select_provider(), the variable 'providers' was declared a second
time, that's why it's renamed to 'visible_providers'.
test-completion-model: remove the commented tests