REF/TYP: stricter typing for Series._slice
Motivation is that Series._slice surprisingly accepts non-slice inputs.  Changing that required copying the slice-handling code from `DataFrame.__getitem__`, at which point it made sense to share that by implementing `NDFrame._getitem_slice`
Thanks @jbrockmendel 