REF: ignore_failures in BlockManager.reduce
Moving towards collecting all of the ignore_failures code in one place.

The case where we have object dtypes is kept separate in this PR, will be handled in the next pass.
> But so, that also means that the behaviour with this PR depends on the presence of (another) object dtype column or not?

I think it means the behavior in _master_ depends on the presence of (another) object dtpye column.  Which is part of the cluster-frack that is the reason we should rip off the bandaid. Reverted behavior-changing component so that bug can be fixed separately lgtm. i know you are trying to cleanup this whole area, so good to go. @jorisvandenbossche any comments (I am sure this is going to be simplified over time) yah the real simplifications dont come until we do the actual bugfixes, but this is a step in the right direction great. glad finally to get this in.