Return a new bitfield with the same value.
        
        The returned value is a copy, and so is no longer linked to the
        original bitfield.  This is important when the original is located
        at anything other than normal memory, with accesses to it either
        slow or having side effects.  Creating a clone, and working
        against that clone, means that only one read will occur.

def clone(self):
        """Return a new bitfield with the same value.
        
        The returned value is a copy, and so is no longer linked to the
        original bitfield.  This is important when the original is located
        at anything other than normal memory, with accesses to it either
        slow or having side effects.  Creating a clone, and working
        against that clone, means that only one read will occur.
        
        """
        temp = self.__class__()
        temp.base = self.base
        return temp