Modernize copy prevention in factory/Registrant to use = delete (#670)
- Replace old-style private-and-undefined copy constructor/assignment in
`utility/factory/Registrant` with explicit `= delete`
- Added a one-line comment explaining the non-obvious reason: each
constructor calls `ProductFactory::add()`, so a copy would silently
re-register the same key