challenges/change-words: Add first working implementation

It looks like it can do with some refactoring, but at least it's a first
working solution.