Delete a change from the index when it is not in the DB

If for some reason the secondary index is out of date, i.e. the  change
was deleted from the database but wasn't deleted from the secondary
index, it was impossible to re-index (remove) that change.

Add logic to automatically remove the change from the secondary index
if this change is requested through the Change REST API endpoint and
doesn't exist in the database.

If a user click on search result from a stale change, he will a get a
404 page and the change will be removed from the index.

To fix the problem without opening the change page, run a command like:
curl --user <user name>  -X POST http://<host>:<port>/a/changes/<change id>/index

Issue: 2996
Change-Id: I1db5373e31585e99c5f45e05274d86d69b4f24e6
Remove uneeded dependency in ChangesCollection

Change I1db5373e31585e99c5f45e05274d86d69b4f24e6 added an unneeded
dependency in ChangesCollection.

Change-Id: I2f8609416518495624eda9e08309a6e14863fbe8
Merge branch 'stable-2.9' into stable-2.10

* stable-2.9:
  Remove uneeded dependency in ChangesCollection
  Delete a change from the index when it is not in the DB

Change-Id: Ifed2fc5073071e9d4f457aa02b73caa2b6173599