Search lucene refactoring

This is https://github.com/owncloud/apps/pull/1624 moved to this Repo. It does not change the database.xml but changes the way backgroundjobs are used to index new files and update changed files.

Also starts adding unit tests and initial README.md Will enable travis testing and add more tests in future PR.

@DeepDiver1975 @karlitschek @kabum see commit messages for detailed changes.
Yes, the comment is wrong, and search lucene should actually be able to index remote files just fine. In any case, I'd like to disable that for now. How do I correctly check if a file is on a local storage?