URL queries in furl are Query objects that have params, a set of key/value pairs.
Query keys and values are maintained decoded
Query is a one dimensional ordered multivalue dictionary method that maintains parity with the NameValueCollection that backs HttpRequest QueryString
Query can also store multiple values for the same key
omd - initial steps towards an Ordered Multivalue Dictionary
omd - replaced Tuple<TKey,TValue> with KeyValuePair<string,string>, cleaner
omd - basic getters and setters
omd - get, set, getlist, setlist, 1 failing test.
omd - refactoring to use nested lists
omd - SetList now expressed in terms of UpdateAll
omd - adding many features
omd - adding remaining tests
omd - all tests pass
omd - refactoring the tests, commenting the OMDict methods
can now store multiple querystring values for a single key
encode supports a custom key=value delimeter
now parsing fragments with query strings
path fragments drove the addition of Path.Append(pathSegment)
adding implicit conversions for url paths from string and an array of strings
completing the test cases (except for inlined methods, which I deferred)