Refactor collect_branches and add specs

Add:
 * Specs for collect_branches method

Refactor:
 * collect_branches method to take the pipe as a parameter
Update .travis.yml to install libicu-dev

Add:
 * Instructions to install libicu-dev before testing with Travis CI
Fixed typo in README.md
Add clean_string spec, clean existing specs

Add:
 * Specs to test the clean_string method

Refactor:
 * Existing specs for style

Remove:
 * Left over comments from clean_string
 * Unnecessary replacements from clean_string
Add more specs for collector class, fix minor bug

Add:
 * Specs for split_old_new_file method

Fix:
 * Bug with spliting old/new file when the change is at the ending
Update Gemfile to use Guard with RSpec for dev.

Add:
 * The guard and guard-rspec gems to aid in development
 * The rb-fsevent and terminal-notifier-guard gems to aid in Mac development
 * Guardfile
 * Instructions to not use development/darwin gems with Travis CI

Update:
 * Gemfile.lock to accommodate new gems
Add more specs for the collector class

Add:
 * More specs for the collector class (extract_xxxx_file methods)
Add another spec for collector class

Add:
 * Spec for the identify_changed_files method
 * Fixture of a raw commit in a buffered format
Remove code that is never used in splitting files

Remove:
 * Code that handles spliting files when the old file is '{string' as Ruby
   actually actually produce two elements (["","string"]) when splitting on '{'
More specs, refactor collector, add new fixtures

Refactor:
 * Specs to use a single collector object
 * The raw_commit_buffer fixture into two parts (changes and information)
 * The extract_commit and identify_changed_file methods

Add:
 * acquire_commit_data method
 * New specs for the acquire_commit_data method
 * New spec for the identify_changed_files method
 * New fixtures for the acquire_commit_data spec
Refactor approach to get modification date of file

Add:
 * New gem to determine host OS
 * New method to acquire the modified time of a file
 * New parameter to collect method (time_until)

Refactor:
 * How the modification date was acquire from the saved file (use correct OS)
 * The pretty flag will also initate a save alone
Create a Utilities class, refactor repo detection

Add:
 * A Utilities class to handle some of the responsibility of the Collector
 * A Utilities spec
 * Spec for get_repository method

Refactor:
 * The repository detection to its own method in the Utilities class
Add dummy submodule for test purposes

Add:
 * Dummy submodule for testing purposes
Add spec to test the find_blob_in_tree method

Add:
 * Spec to test the find_blob_in_tree method

Refactor:
 * The detection of submodules (ignore them)

Remove:
 * Dummy submodule (not needed anymore)
Fix get_repository method to work from gem

Fix:
 * The get_repository method such that it works from a gem state
Add specs for process_blob and get_blob methods

Add:
 * Spec for the process_blob method
 * Spec for the get_blob method
 * Return statement to the process_blob method
Add spec for split_old_new method to fix a bug

Add:
 * Spec for the split_old_new method that fixes a bug

Fix:
 * A bug in the split_old_new method
Add more data checks (nils, etc...), minor edits

Refactor:
 * Some spelling

Add:
 * Some data checks for nils, etc...
 * return for extract_commit method

Fix:
 * Encoding (requires iso-8859-1 -> utf-8 for certain authors)
Add more specs and fall_back_collect_commit method

Add:
 * fall_back_collect_commit method to acquire the buffer of a commit if needed
 * Abort to extract_commit method encase the buffer is not valid
 * Spec for extract_commit method
 * Spec for fall_back_collect_commit method
 * Fixture for extract_commit spec
Refactor printing results into Results class

Add:
 * Results class
 * Results spec (no content yet)
 * Prepare_result_summary method to create config hash for settings and
   to select the appropriate data

Refactor:
 * The get_modified_time method to the Utilities module
 * The printing of the results to the Results class
 * The printing methods to use a config hash for parameters