Refactored for default and optional rules

Using a hash to pass in, we can let the user define the rules of the
game.

Write a test as an additional exercise that replaces even the core rules
of Fizz and Buzz!
add test replacing default rules