allow overriding dataset, group, org validation

For discussion

This is a "let plugins override everything about validation" approach. It's not user-friendly, but any conceivable validation could be built on it: different schemas based on logged-in user, (dataset|group|org) type or any other field values; validate against a sequence of schemas; validate using JSON-schema or any completely different validation engine.
 
Named the method `_validate()` to indicate its internalness. Didn't add to the plugin interface for the same reason (certainly not because I'm lazy. nope. not at all.)