added on-fail option for redirects

`:on-fail` can be used instead of the `:redirect` key to supply a function that will handle the failure case for a rule group.