Fix potential unicode problems

More reasons to start with the porting to python3
Make the slug field for exercises optional

This is needed because for names that are completely non-ASCII, the slug
field is empty (since it is URL-friendly)