Add new validation constraints for Source objects.
Add extra error classes.
Improve error class inheritance and decoupling.
Fix merge conflicts.
Fix merge conflicts.
Remove unused file.
Fix error handling.
Fix error handling.
Merge branch '1161_source_constraints' into develop