Added synchronous Lucene indexing (again).
Fixes #38

Indexing is now triggered by database inserts / updates / deletions of folders and objects. The affected objects are placed in a map and, if the whole request is successful, those objects will be indexed.
In case of an uncaught exception, the objects will _not_ be indexed, as well as in any case where a generic Cinnamon error message is generated. In cases where an exception is caught but no Cinnamon error message is generated (for example, batch operations which skip problematic objects), the indexing may be prevented programmatically by calling LocalRepository.cleanUp() or called upon by creating asynchronous IndexJobs.