handle multiple expired locks for same content

#### What's this PR do?
- handles the case where there's more than one lock for the same content; previously admin code assumed there'd always be zero or one lock for each object

#### Why are we doing this? How does it help us?
- prevents the admin from exploding when there's more than one lock for the same content as long as there's a unique unexpired one

#### How should this be tested?
`make test`

#### Smells?
- why is there more than one lock anyway?  How are they supposed to be getting deleted?  Do they just pile up and need to be trimmed by a separate out-of-band process/job?

Even after this fix I was able to create multiple unexpired locks for the same content w/o too much effort, so this probably isn't useful unless it's coupled with other fixes. 

any reason to use the bare factoryboy way vs the django-orm enabled one? https://factoryboy.readthedocs.org/en/latest/orms.html#django

I do `factory.DjangoModelFactory` because that's what my tool (JEDI) autocompletes.