Remove append calls
Store attribute checks on QueryResult.__setitem__
Avoid full list creation for QueryResult.__getitem__
Use iterhits instead of itervalues for py3 compatibility in QueryResult.__getitem__