New re-indexing periodically

The indexing now consists of two WorkspaceJobs. One is the initial
indexing job that will index the entire workspace. The other listens
to changes to the files in the workspace and indexes the changes
periodically.