Refactor collection process to use Grit/CommitSummary vs Git Logs

Massive commit here which does a number of significant changes to the
source. Namely the collection process has been simplified to use Grit
and the newly CommitSummary class. This approach completely removes the
use of acquiring and parsing the Git Logs manually to extract commit and
file information.

Add:
 * Grit git timeout and max_size overrides (for larger repos/commits)
 * The ability to iterate over Grit commits of the repo in question
 * The integration of using the CommitSummary class to collect details
   for each commit object
 * Additional logic to calculate_statistics using exported files, or
   just in memory commits
 * Additional work on determine_file_summary(…) for working with the
   new changes, and for conforming to the 'hash' data for integration of
   the reports (for the time being)

Remove:
 * All git log acquisition code
 * All git log parsing code (i.e., parsers, regex and buffers)
 * The 'force' option when flushing commits
 * Old and unneeded fixtures (git log, branches, buffers)

Refactor:
 * The collect process to use Grit's options hash to pass in information
   such as the time_since and time_until
 * Specs to conform to the new/renamed hash attributes (i.e., filestatus
   and new_files/removed_files)
 * Existing fixtures of exported author json files to conform to the new
   changes (i.e., single_author_pretty and multiple_authors)
Cache expensive results in the commit_summary for performance gains

Add:
 * Simple caching of the commit's show and file_stats. A well needed
   increase in performance (16s to 5s on current git_statistics repo),
   which puts the performance back to par using git logs as the
   collection method