Register properties using a list defining the properties.

        The dictionary should itself contain dictionaries. i.e.

        .. code-block:: python

            D = [
                { 'name':'ref_wave','dtype':np.float32,
                    'default':1.41e6 },
            ]

        Parameters
        ----------
        properties : A dictionary or list
            A dictionary or list of dictionaries
            describing properties

def register_properties(self, properties):
        """
        Register properties using a list defining the properties.

        The dictionary should itself contain dictionaries. i.e.

        .. code-block:: python

            D = [
                { 'name':'ref_wave','dtype':np.float32,
                    'default':1.41e6 },
            ]

        Parameters
        ----------
        properties : A dictionary or list
            A dictionary or list of dictionaries
            describing properties

        """
        if isinstance(properties, collections.Mapping):
            properties = properties.itervalues()

        for prop in properties:
            self.register_property(**prop)