Append query string if data has keys that don't appear as path segments

This addresses the enhancement requested in #8.

Feedback welcome. I'm not certain this is the best approach, as it doesn't cater for users who want a path or URL without a query string. If you have parameters in a map, `data`, and want the path without the query string, you have to do something quite ugly:

```clojure
(apply foo-path (select-keys data (required-parts foo-template)))
```

If the `url-for` function returned an UrlLike object rather than a string, then the caller need simply call 

```clojure
(without-query-string ...)
```

Of course `path-for` can't use the same trick, so maybe a different function is called for there. What do you think?