Return the error between this and another bearing. This will be an
        angle in degrees, positive or negative depending on the direction of
        the error.
        
            self   other
              \      /
               \    /
                \__/
                 \/ <- angle will be +ve

            other   self
              \      /
               \    /
                \__/
                 \/ <- angle will be -ve        

        :param other: bearing to compare to
        :type other: Bearing

        :returns: error angle
        :rtype: float

def delta(self, other):
        '''
        Return the error between this and another bearing. This will be an
        angle in degrees, positive or negative depending on the direction of
        the error.
        
            self   other
              \      /
               \    /
                \__/
                 \/ <- angle will be +ve

            other   self
              \      /
               \    /
                \__/
                 \/ <- angle will be -ve        

        :param other: bearing to compare to
        :type other: Bearing

        :returns: error angle
        :rtype: float
        '''
        difference = float(other) - float(self)
        while difference < -180:
            difference += 360
        while difference > 180:
            difference -= 360
        return difference