Feature/improve lucene codebase

Improvements:
- update to Java7 compatible constructs
- improved readability of code
- annotated a few potential NPEs (!!!)
- annotated two missing hashCode() methods
- general code improvements