Fix the slice bug described in issue #55
Fix the slice bug described in issue #55

The previous code was not taking into account that a developer can use
‘strange’ slice indexes, like [0:200] when a list has only [1,2,3].
Therefore,  there were some bounds that were not respected, like
limiting the “stop” argument to the maximum length of the list.

The previous code, for [1,2,3][1:200] would return [1,2,3,None……197x
None] .

This patch is based on the CPython code at
https://hg.python.org/cpython/file/3d4d52e47431/Objects/sliceobject.c#l1
32. The following answer at stackoverflow was also relevant for the
problem:
http://stackoverflow.com/questions/12173856/implementing-python-slice-no
tation?answertab=votes#tab-top

This patch only fixes issues related with retrieving items from a list.
There are still issues with slices for deleting and assignment, but
that will be handled later.

Lh4cKg/brython,kevinmel2000/brython,Isendir/brython,olemis/brython,Isendir/brython,rubyinhell/brython,amrdraz/brython,firmlyjin/brython,firmlyjin/brython,Mozhuowen/brython,jonathanverner/brython,JohnDenker/brython,amrdraz/brython,rubyinhell/brython,olemis/brython,Mozhuowen/brython,Mozhuowen/brython,Lh4cKg/brython,kevinmel2000/brython,Hasimir/brython,kevinmel2000/brython,firmlyjin/brython,Hasimir/brython,Hasimir/brython,kevinmel2000/brython,firmlyjin/brython,rubyinhell/brython,brython-dev/brython,brython-dev/brython,olemis/brython,jonathanverner/brython,Hasimir/brython,amrdraz/brython,rubyinhell/brython,molebot/brython,nvoron23/brython,amrdraz/brython,Isendir/brython,Isendir/brython,kikocorreoso/brython,Lh4cKg/brython,JohnDenker/brython,nvoron23/brython,kikocorreoso/brython,brython-dev/brython,jonathanverner/brython,firmlyjin/brython,JohnDenker/brython,molebot/brython,molebot/brython,molebot/brython,olemis/brython,jonathanverner/brython,JohnDenker/brython,Mozhuowen/brython,nvoron23/brython,kikocorreoso/brython,Lh4cKg/brython