[4.2] Migrate To URLify

In #3643, you said you wanted to move to a smaller library for generating urls, and you mentioned urlify as a possibility. I've written an implementation here.

I've updated the asci function on the string class for urlify, ~~and in the air of simplicity, I have changed the slug method to use urlifiy's slugging method. I can revert this if you'd prefer to keep your own slugging method. If we do use it, we'd need to document that BC breakage~~.

---
Related to #3643 and #4204.