deposit: Validate Atom documents are well-formed
We should reject Atom documents that don't pass these simple checks:
- all namespaces used should be defined
- elements in known namespaces should exist
- known elements should have the right types
Migrated from T3965 (view on Phabricator)