Return Option rather than fail for `slice_shift_char` and {shift,pop}_{char,byte} 

Along the lines of `shift_ref` and `pop_ref`.