Feature request: enable validation rules to be toggled based on the status of another field

Again, this isn't a pull request but a feature request including some code showing the issue I'm trying to solve.

In my app I have a payment model and payment can be of different sorts (e.g. cash, credit card, bank transfer etc). In the case where it is credit card I show additional fields and need to validate them as required and with a custom rule (to check the credit card number and expiry date etc).

In 8082e0b3364ccd I have added a contrived version of this setup to your example. The commit message describes a way that this setup is broken currently.

More generally I'd like to make a feature request for some sort of "guard" which could be applied to the start of a chain. Then I could put the guard at the front of the `secretNinjaWord` chain and wouldn't need to check the value of `isNinja` in every rule after that but the rules would be applied and removed when the value of `isNinja` changed. Does this make sense?