Switch a bunch of tests over to being data-based

Makes it nice for us to test `NSURLComponents` at the same time