Services based on URLs

A big rewrite of services to remove a lot of different accessors (`host`, `hosts`, etc.) while preserving backwards compatibility.