x <- return $ do === let x = do
Rename to Test.Tasty.Ingredient.Rerun
Rename rerunIngredient to rerunningTests

This is more consistent with how Roman is naming the default tasty
ingredients.
Use newtypes for command line options

No reason to use data here - we just need newtypes to define IsOption
instances that aren't orphans.
Use a comma separated parser for --rerun-filter

Roman points out that my current multiple-occurance parser breaks the
semantics expected by IsOption