Changed Lucene indexing to use an IndexJob class.

The old indexing system updated indexed /indexOk fields on each Indexable. This could cause race conditions between other processes writing to an OSD and the Lucene background thread.