This is similar to the split between index and server.index: these pieces of the index code do not depend on Gerrit internals and may be used to implement a project index in non-Gerrit servers. In other words, this is the logical continuation of the work started in I07beec95. Change-Id: Ic56eb46a5386cdd72f62117ad36b24ca85659809