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).
We've been using the https://pypi.python.org/pypi/sphinxcontrib-napoleon format for docstrings.