Implementation of applying solar differential rotation to images

This pull request contains code to enable the rotation of helio-projective Cartesian co-ordinates on the Sun according to sunpy's solar differential formula.  It is an implementation of the functionality of the rot_xy.pro function in SSW/IDL.  There are two functions intended for internal use.  These are also implementations of functionality in SSW/IDL.  These reproduce some functionality in other parts of sunpy (such as the apparent longitude).  These are included in this pull request as they are required to make the results of rot_hpc.py close to those from rot_xy.pro.  They are included in this PR as "for internal use" since they reproduce functionality in sunpy and that is a bad thing, but make rot_hpc more accurate, and that is a good thing.  Quantities such as apparent longitude should accurate and calculated in a single place in sunpy.  When this is done, these two functions can be replaced by the single, official source in sunpy.

No website documentation is included in this PR, and none will be until the code review is complete.