Better url generation method

The old implementation adds query parameter  using '&' modifier.
A ruote `/foo` with one parameter called `bar` will be transformed into:
`/foo?{&bar}`, and later it will became `/foo?&bar=value`

Using this patch, it will be transformed into:
 `/foo{?bar}`, and will became `/foo?bar=value`

(I know that it breaks some tests)