GtkSourceFile: a NULL encoding by default

The default encoding was UTF-8. Now it is NULL by default, which means
that the UTF-8 encoding will be used, but it also means that the
encoding hasn't yet been set. So the private function is_encoding_set()
is no longer needed.

It will be useful for gedit too.
Add gtk_source_encoding_remove_duplicates()

A convenience function.