Support for ? in paths

[changed] * in paths no longer matches .
[added] Support for arrays in query strings

Fixes #142
I used `querystring` originally so that we had the same semantics as server side node's query strings.

Namely `foo=bar&foo=baz`, rather than the ruby style `foo[]=bar&foo[]=baz`. You sure we want to be different than node here when we're after isomorphic apps and node is the obvious majority use-case?

http://nodejs.org/api/querystring.html