made slugs unicode-safe like

This should fix #36. I wrote it mostly like mozilla's implementation.

PS: the like at the end of my commit has no sense, I just forgot it there.
I can agree on the first point and I'll add a docstring!

Space is an allowed character because spaces are theoretically allowed in URLs (if encoded correctly). It's there because I mostly followed the mozilla implementation which is more generic.

All Spaces are replaced by `-` before slug-char-p can even start to act.