tweak slugify code to avoid double-unidecode

Previously, slugify would run a unidecode() on the input_text if
unicode slugs were disallowed. This caused a warning if the input_text
was already de-unicode. This splits the logic into two steps: first
demote input_text if unicode is disallowed; then, choose the appropriate
slugify function based on the result.