Search lucene refactoring

@DeepDiver1975 @jcfischer @xdmx @icewind1991 this PR introduces a batch approach to indexing. That should solve the problem of storing the path as a job parameter. The new background job also takes care of indexing all unindexed files, not just one. 

supersedes https://github.com/owncloud/apps/pull/1040
fixes https://github.com/owncloud/core/issues/6479
fixes https://github.com/owncloud/core/issues/6410

Do not yet merge, I intend to also add unit tests.