test-completion-model: test thoroughly is_empty()

Create a basic provider.

Create a utility function for creating proposals. As the unit tests will
be written, there will be more elaborated utility functions, and maybe
the current code for is_empty() will be simplified.

There is currently a bug in is_empty(), that's why two tests are
commented (with "#if 0" to easily see later the commented tests). It
will be fixed in the new implementation of CompletionModel.
test-completion-model: test get_visible_providers()