Verify for duplicate location+metadata instances

Glance allow users to have duplicated locations for the same image. This
could led to some confusion and bad UX. This patch introduces such check
in the insert method and makes both extend and append use it to add new
images.

The patch also adds a new exception - DuplicateLocation - and handles it
in the v2 of the API. When `DuplicateLocation` is raised, a BadRequest
will be returned back to the client.

A new test for this functionality was added as well.

Change-Id: I32400d467408e3d56bbbdbb3379357f2ee812e56
Closes-bug: 1251244
Merge "Verify for duplicate location+metadata instances"