Handle non-field errors from Django

Django uses django.core.exceptions.NON_FIELD_ERRORS or "__all__" for identifying non-field errors.  This is returned when a ValidationError is raised in the model's clean method, or if a unique_together constraint fails.

After this change, these errors appear as path "/-" rather than path "/__all__"