If the clients disconnects, revert any changes to HEAD
Oops, forgot to rename this list
Bug fix: We must flush the channel in order to send the message
Also use '\n' as message delimiter
Bug fix: Regex.

*under <file></file> we can have any char, use .+ to match it.
* Timestamp is in the 4th index
Only watch the file if the revert was sucessful
Only perform operations on files that the file keeper know.

The GUI client can send any file to us, we must make sure that the
files that we're operating belong to us.
Only execute FILE_MESSAGE_REVERT if date > 0
Memory leak fix at file_keeper_revert_file().

As a user it is possible to keep asking the daemon to revert the file
to older versions.  The FileKeeper struct holds a git_commit object
that points to the last reverted commit, if the user revert the file again
we must free the previous commit, otherwise we will leak it.
Do the proper cleanup if somethings fails at file_keeper_create_commit()
Bug fix - File Conn minor fixes.

* Only send data if self->priv->channel is not NULL.
* Unref the IO channel if the client disconnects, otherwise a leak
will happen.
File watcher must notify the user that a file was added or deleted.

If a was deleted or added the file watcher must notify the connected client
that something changed, so the client can update its GUI.

I was planning to transform the file_watcher.c in a class so signals
could be emited once a file was added or deleted, however
GObject requires so much code that it makes me think twice before
implementing it. A simple callback can handle the job, so I will
stick with it
Free keeper->commit at file_keeper_reset_file().

It makes no sense to hold this commit in memory after we reset the file.