Fix leaking the GeditApp

This was caused due to a reference cycle with GeditAppActivatable.
Also report a debug message if the GeditApp is leaked.
GtkSearchEntry has focus on opening the highlight mode widget

https://bugzilla.gnome.org/show_bug.cgi?id=731053
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