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.
It would be nice to search in various meta data with queries like `author:snowden` or `mtime<12345678` however I'd rather get the general architecture of the app in better shape. In this PR I also put a mechanism in place that can be used to throw away the index and force a reindex should we decide to change what we store. So, yeah I'd love this, but lets postpone it. We might want to take some notes on how users should be able to search in the meta data ... should german users be able tu use `autor:snowden` instead of `author:snowden` and so on ... let us get the overall way we are updating the index with jobs and encryption right first.