Consider enforcing unique package names at the DB level

From https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/13986#note_184918987:

The way we enforce unique package names is vulnerable to race conditions that could leave invalid data in the DB

We should consider adding DB constraints for this

Assignee Loading
Time tracking Loading