GeditView: override GtkTextView::create_buffer()

Before this patch, two buffers were created each time a new view is
created. Now only one buffer is created, the good one, GeditDocument.
GeditRecent: print a warning on failure

There was a problem when the mime type was not a valid UTF-8 string, and
it was quite difficult to debug. With a warning it is hopefully easier
to debug a future problem.
Use GtkSourceEncoding in GeditEncoding
Move encoding utils functions to gedit-utils

gedit-encodings will be removed, but the utils functions will still be
needed in gedit.
encodings-dialog: use GtkSourceEncoding
encodings-combo-box: use GtkSourceEncoding
app: use GtkSourceEncoding
io-error-info-bar: use GtkSourceEncoding
commands: use GtkSourceEncoding
window: use GtkSourceEncoding
file-chooser-dialog: use GtkSourceEncoding
tab: use GtkSourceEncoding
Add gedit_document_get_file()

The function returns the associated GtkSourceFile.
Remove file loading and saving unit tests

The unit tests are in GtkSourceView.
GeditDocument: make load and save functions private

Make the following functions private:
gedit_document_load
gedit_document_load_stream
gedit_document_load_cancel
gedit_document_save
gedit_document_save_as

They are normally not needed by plugins. What plugins need is to do some
stuff before/after a file loading or saving, i.e. the following signals
are needed: "load", "loaded", "save", "saved".

By making the above functions private, it'll be easier to port
GeditDocument and GeditTab to GtkSourceFile.
Port to GtkSourceFileLoader
Port to GtkSourceFileSaver
Remove document-loader and document-saver

And their contained classes: document-input-stream and
document-output-stream.

All this code is now in GtkSourceView.
GeditDocument: remove unused code
GeditDocument: make set_readonly() static