URL-safe Base64 for use in routes and params

Two questions:
1) I used `Base64.urlsafe_encode64` instead because that seemed to make sense, that ok?
2) Should it locate with a base64 encoded signed gid? If so, I can add another commit for that.
These are valid chars in the base64 encoding, so removing them will munge the data. If we don't want them in the output, we'll need to tweak the encoding or use something else.