Retry upon consuming project-index messages

This change fixes an issue whereby project creation wouldn't be
propagated to consuming nodes.

When consuming a project-index message, the ProjectIndexerImpl.index
method is eventuall called.
The latter only writes the project in index when the project has
already been inserted into the ProjectCache.

At indexing time, if the project is not in the ProjectCache, then the
Project Indexer will assume it has been deleted and thus it will remove
it from the index, rather than adding it.

The fix in this change is to wait for the project to be in cache before
attemping to call the Project Indexer.

Change-Id: I4db4ce8add56626343195b91ba79742b88668143
5 files changed