Palindrome Exercise

New exercise. Hopefully not too similiar to other exercises. The code should be pretty self-explanatory.
Since, as I understand it, the code is mainly reference for us so that we can help students more easily, I think this code is fine. There are many good and sensible ways to solve this particular problem (cleaning a string), so if a group needs help with this problem then I don't think moving them into this direction (adding valid characters to a new empty string) is something you have to do. If they are working on a solution involving String.replace we should probably help them with that method instead.

I don't really think that String.replace is that much simpler since you need to define all invalid characters, instead of defining all valid characters. It is likely easier to come up with the idea of removing unwanted characters with replace but implementation-wise it might not be that simple. Although I recently found that Python has a string.punctuation constant which could make implementing it easier (string.punctuation is ASCII and there might be strange Unicode characters in the input).