Include inner exception when raising InvalidRule

This makes debugging rule usage much easier, since the stack trace will now say something like `uninitialized constant Validation::Rule::TypoInRuleName`, instead of simply `InvalidRule`.

Now with Ruby 1.9.2 support and to merge in the `develop` branch.