[added] Support for ? in paths

[changed] * in paths no longer matches .
[added] Support for arrays in query strings

Fixes #142
Yes, I should probably add those too. `+` will need some special handling because that's how we encode spaces in URLs.