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