Fixed potential problem with IndexError in QuerySet.first()

The current implementation may suppress internal IndexError exceptions.

Please see ticket 23555 for more details. https://code.djangoproject.com/ticket/23555#ticket
Ok, removed the last test. I still have not found a test for `IndexError` on `__getitem__`, but it seems this is not a right place for such test anyway.