Differential Rotation code updates

This PR was #492 which was #452 !!

This is @wafels work on writing better differential rotation code that we can use for coordinate transforms, that I pulled up to date.