Add FileSummary in the commit_summary (file language & status)

Add:
 * FileSummary in the commit_summary file, this class provides the basic
   statistics (addition/deletion/net), and the filename, filestatus, and
   the language
 * Ability to get file_names using CommitSummary#file_names
 * Filename on the diff_summary inspect method
 * Specs for the FileSummary changes

Refactor:
 * The Collector#get_blob method into the Utilities module and made it
   use the Grit::Commit object instead of sha
Special handling of nil blobs due to git oddities

Add:
 * Fallback ability to check the first and last parents of a blob commit
   which is nil
 * A check if the fallback blob is a submodule