Introduce validation method and class in XBlock API

@cpennington and @dmitchell please review

You can see the Studio extension of the Validation class in common/lib/xmodule/xmodule/validation.py in https://github.com/edx/edx-platform/pull/5710 (which is still WIP so is not yet commented or tested).
Rather than a `contains` method, why not just have a constant `VALID_TYPES`, which is just a list of the valid types, which callers can just use `in` with?