Make __getitem__ handle slice for Python 3

Python 3 doesn't have `__getslice__` instead it uses `__getitem__` with a `slice` object.

http://python3porting.com/differences.html#slice-operator-methods
https://docs.python.org/3/howto/pyporting.html#don-t-use-getslice-friends
https://docs.python.org/2/reference/datamodel.html#object.__getslice__