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.
If Base64 decoding fails, can just return `nil` rather than trying to parse an empty string.