Support multiple values for the same key

Open to suggestions if you think there's a better way to do this. I don't think this is part of the spec; my understanding is that most servers have different interpretations. I used an array since the implementation currently maintains the order, but it could be a set as well.

For an example of how this would be used, Tumblr.app supports URLs like this:

tumblr://x-callback-url/chat?title=Title&body=Body&tags=gif&tags=lol