Implement generate_history method in every SCM
Substitute if-else block with `detect` method
Simplify string quotation inside the gemspec

Now it just uses double quotes instead of the %q notation.
Make use of Hash default value
Extract file rejection into two different methods
Substitute `match` method for the `=~` operator

The `match` method generates a MatchData object, making it slower than
`=~` [1]. Since this object is not being used, it makes sense to switch
to `=~`.

[1]: http://stackoverflow.com/a/11908214/1160916
Fix whitespace
Implement CLI option `accept_files`

With this option it is now possible to whitelist directories and files
to be analyzed instead of blacklisting them using the `ignore_files`
option.

Unfortunately, regex anchors have to be escaped.

Usage examples:

1. Analyzing only Ruby files:

  churn -f .+rb\$

2. Analyzing Rails main files:

  churn -f \^app/models,\^lib