Add GtkSourceEncoding API

The code comes from gedit, in the purpose of making the gedit source
code more reusable.
Add GtkSourceBufferInputStream private class

Taken from the gedit source code, GeditDocumentInputStream.
Unit tests for the buffer input stream
File saving

Add the public class GtkSourceFile.
Add the private class GtkSourceFileSaver, taken from gedit
(GeditDocumentSaver) and adapted to fit the GtkSourceFile API (GIO
conventions for async operations).

See this mail thread:
https://mail.gnome.org/archives/gedit-list/2013-December/msg00006.html

And the bug report:
https://bugzilla.gnome.org/show_bug.cgi?id=721016