Implement new url scheme with slugs

To see these changes broken up by layer, with detailed explanations, check #31, #32, #34, and #35.

This implements #24 and #28.