Java 6 compatibility

- Ensure Java 6 compatibility by replacing Objects.requireNonNull
checks with plain null checks, and using 1.6 source/target levels
- Minor: gitignore entries for Eclipse