Dump the name to string, after normalizing it.

def dumps(self):
        """Dump the name to string, after normalizing it."""
        def _is_initial(author_name):
            return len(author_name) == 1 or u'.' in author_name

        def _ensure_dotted_initials(author_name):
            if _is_initial(author_name) \
                    and u'.' not in author_name:
                seq = (author_name, u'.')
                author_name = u''.join(seq)
            return author_name

        def _ensure_dotted_suffixes(author_suffix):
            if u'.' not in author_suffix:
                seq = (author_suffix, u'.')
                author_suffix = u''.join(seq)
            return author_suffix

        def _is_roman_numeral(suffix):
            """Controls that the user's input only contains valid roman numerals"""
            valid_roman_numerals = [u'M', u'D', u'C', u'L', u'X',
                                    u'V', u'I', u'(', u')']
            return all(letters in valid_roman_numerals
                       for letters in suffix.upper())

        first_and_middle_names = iter(_ensure_dotted_initials(name) for name in self.first_list)
        try:
            prev = next(first_and_middle_names)
        except StopIteration:
            LOGGER.warning(u"Cannot process %s properly",
                           self._parsed_name.original)
            prev = self._parsed_name.original
        names_with_spaces = [prev]

        for name in first_and_middle_names:
            if not _is_initial(name) or not _is_initial(prev):
                names_with_spaces.append(' ')
            prev = name
            names_with_spaces.append(prev)

        normalized_names = u''.join(names_with_spaces)

        if _is_roman_numeral(self.suffix):
            suffix = self.suffix.upper()
        else:
            suffix = _ensure_dotted_suffixes(self.suffix)

        final_name = u', '.join(
            part for part in (self.last, normalized_names.strip(), suffix)
            if part)

        # Replace unicode curly apostrophe to normal apostrophe.
        final_name = final_name.replace(u'’', '\'')

        return final_name