CLN: clean up interpolate to use blocks

Tom, here is your PR implemented with blocks. Should get you pretty far.

I am not sure of what exactly ``df.interpolate(values='A',index='C')`` is actually supposed to modify
e.g. use the values from column A to interpolate the remaining columns in the df with the index of C?

that is very odd though no way to pass it to your interp functions...?

lmk