test-widget: don't leak MarkAttributes
view: remove_source_buffer() function

And call it in dispose().

The g_signal_connect_object() calls are replaced by simple
g_signal_connect(), since the signal handlers are disconnected by
remove_source_buffer().
view: disconnect notify::buffer in dispose()
File loading and saving

New public classes: GtkSourceEncoding, GtkSourceFileLoader and
GtkSourceFileSaver.
There are also new properties in GtkSourceBuffer.

https://bugzilla.gnome.org/show_bug.cgi?id=721016
Move some enum types to gtksourcetypes.h
build: rename helper library private -> core
encoding: comment unused functions
GtkSourceEncoding documentation
Some code improvements
GtkSourceFile, the come back
Move mount_operation_factory to GtkSourceFile
Add missing GI annotation
FileSaver: add setting: ignore invalid chars
File saving: check if the file is externally modified

Store the modification time in GtkSourceFile, and update the value on
each file loading and saving.
FileSaver: flags instead of boolean properties
FileSaver: use IGNORE_MODIFICATION_TIME flag
Make GtkSourceMountOperationFactory introspection-friendly

There was a GI warning.
Make load_async() and save_async() introspection-friendly
Make gtk_source_file_set_location() public

It will be used by gedit_document_set_location(), which is used by the
file browser plugin when a file is renamed.
Make BufferOutputStream more robust after dispose

Some code can be executed after dispose(), like
gtk_source_buffer_output_stream_close(). After dispose(), the
source_buffer is NULL.