Move photon.propagate function from photon class to optical machine to keep photon class as clean as possible.