Refactor ftintitle

Refactor the `ftintitle` plugin to move the extraction of the featured artist from the artist string into it's own function so that it can be tested.

This also fixes a bug that was in the original code that extracted the featured artist that would cause it to fail if the album artist was on the right side and the featured artist on the left side in the artist field. Also adds test cases to avoid this bug resurfacing.
I'm guessing that you added this exception to let the function differentiate between two failure modes: album artist not present (where we log a message), and split phrase not present. I think it's OK for simplicity to just not log anything in this case and avoid needing the special exception. Do you think we would lose much by just returning None here and dropping the more informative log message below?