New module Git::More::Message

This new class represents a Git commit message. Generally speaking, a
commit message can be any string whatsoever. However, the Git
community came up with a few conventions for how to best format a
message and this class embraces those conventions making it easier for
you to validate and change a commit message structure.

With it the Git::Hooks::CheckLog and Git::Hooks::GerritChangeId
plugins were reimplemented and simplified.

The Git::More class implements two new methods:

- read_commit_msg_file: that reads the contents of a file, respecting
  the i18n.commitencoding config option, and returns its contents
  stripspaced.

- write_commit_msg_file: that writes a string to a file respecting the
  i18n.commitencoding config option.

Signed-off-by: Gustavo L. de M. Chaves <gnustavo@cpan.org>