REF: avoid mutating Series._values directly in setitem but defer to Manager method
There are currently two cases where the Series code directly modifies the underlying values itself (`self._values[..] = ..`), while most setitem code paths end up going through a specific indexing method that all end up in the Manager doing the actual modification of the values.

Apart from being a bit inconsistent (it's good to have all eventual modifications consistently happening inside the manager, I think), I also need to move this to the manager for being able to check for copy-on-write in https://github.com/pandas-dev/pandas/pull/41878. 
Since I think this is a generally useful change, moving it out of the CoW PR.