A simple, immutable URL class with a clean API for interrogation and manipulation.