Extensible validation for Python dictionaries