Extended Editor._get_attribute_editor(). MODEL.

Editor._get_attribute_editor() now knows what to do when
attribute_detail.editor_callable is a class: the class is taken to be the type
of attribute to be edited.

MODEL: this allows for recursive attribute editor delegation.

The relevant branch is here:

    elif isinstance(editor_callable, types.TypeType):
        target = getattr(self.target, attribute_detail.name)
        target = target or editor_callable()
        editor = type(self)(
            session=self._session,
            target=target,
            )

A future commit will show how this works to edit the aggregate classes that
comprise TaleaRhythmMaker.
Updated TODO.