Ensured IndexQuery.evaluate() never returns null + updated javadoc to mention it.
Client code assumes that the returned value will never be null anyway.
IndexQuery.java:
In evaluate(), modified the javadoc to mention returned value can never be null.
In IntersectionIndexQuery and UnionIndexQuery evaluate methods, got rid of null checks.
Index.java:
In readRange(), modified the javadoc to mention returned value can never be null.
In read(), added javadoc.
In containsID() and read(), slightly modified the code to make it more compact and more readable.