The build fails because of this:
```
Tests/test_olefileio.py:33: ole = OleFileIO.OleFileIO(ole_file) failed:
Traceback (most recent call last):
  File "Tests/test_olefileio.py", line 33, in test_exists_worddocument
    ole = OleFileIO.OleFileIO(ole_file)
  File "/home/travis/build/python-imaging/Pillow/PIL/OleFileIO.py", line 1062, in __init__
    self.open(filename)
  File "/home/travis/build/python-imaging/Pillow/PIL/OleFileIO.py", line 1262, in open
    self.loaddirectory(self.sectDirStart)#i32(header, 48))
  File "/home/travis/build/python-imaging/Pillow/PIL/OleFileIO.py", line 1558, in loaddirectory
    root_entry = self._load_direntry(0)
  File "/home/travis/build/python-imaging/Pillow/PIL/OleFileIO.py", line 1576, in _load_direntry
    self._raise_defect(DEFECT_FATAL, "OLE directory index out of range")
  File "/home/travis/build/python-imaging/Pillow/PIL/OleFileIO.py", line 1081, in _raise_defect
    raise exception_type(message)
IOError: OLE directory index out of range
```
https://travis-ci.org/python-imaging/Pillow/builds/24208893

Before it raised an exception if `sid` was outside a range. Now it raises an exception if `sid` is within the range.

Do you know if the other code changes covered by tests? (You can check at https://coveralls.io/r/python-imaging/Pillow)