Fix empty param slice panic

URL parameters can have no values (eg foo=&bar=blah), and Go net/url will produce a url.Values with an empty slice. Schema decode panics as it assumes there will always be at least one value for a parameter appearing in the map. Make it support empty slices properly.