Validation: adding multiple rule namespaces support

Also: 
- reduced complexity/customization of "matching" rule
- added extension points for downstream modification
- allow `->setRule()` to accept rules in an array vs. just piped-delimited
- added run-completion logic to prevent retrieving pre-validated data
- Swapped to proper PSR-4 namespace (added vendor)
I would say just as a matter or readability. The current implementation lets the `instanceof` operation to take precedence over the negation, but, if this ever changes, then it would be first negating and then verifying if its `instanceof`.

It actually reads as if we want to verify "if the negation of the validator, is an instance of ValidatorServiceInterface"