Fix #20, ignore (no branch) in detached state

Add:
 * Check for (no branch) which occurs when repo is in a detached state
 * Fixtures for the specs to test detached state
spiking Pipe class
updating Pipe class and adding specs
using Pipe.new instead of IO#open
return an array regardless. be less nil-happy
simplifying the calculations of console output
using File.join over string concatenation with File::Separator
just simplifying tests and utilizing rspec subject pattern
Remove unnecessary call to clean_for_authors
Merge pull request #21 from kevinjalbert/fix-crash-in-detached-state

Fix #20, ignore (no branch) in detached state
Merge pull request #22 from mattdbridges/console-simplifying

simplifying the calculations of console output
Merge pull request #24 from kevinjalbert/small-file-path-fixes

Using File.join over string concatenation with File::Separator
fixing spec name to match actual test
removing extra around call in nested rspec context
Merge pull request #23 from mattdbridges/pipe-class

Pipe class
Merge pull request #26 from kevinjalbert/test-simplifying

Simplifying tests by using rspec's Subject pattern
Fix failing spec in Collector

Fix:
 * GitStatistics::Collector#fall_back_collect_commit with invalid sha as
   it was expecting a nil when we now return an empty array
Merge pull request #27 from kevinjalbert/fix_failing_spec_expected_nil

Fix failing spec in Collector
Add CONTRIBUTING.md which details contributing guidelines

Add:
 * CONTRIBUTING.md

Remove:
 * Contributing section from README.md
adding mention of green specs in CONTRIBUTING.md
[ci skip]