be a bit smarter about when slicing or item access return None

--HG--
extra : amend_source : 51a4e6ec35c70af746630fcada3982c2decde872
let SliceNode know it returns a slice instance
make CallNode a little smarter about when the return value can be None
fix typo
add and improve some more may_be_none() methods
optimise list.pop() a little more by splitting it off the generic anyobj.pop() implementation