Tided version of previously submitted diff_rot code

I have not tested this as I have no data to compare it to. I just tided it up and added it to a place in sunpy where I thought it could go.