Respect existing fragment parameters when generating URLs

If the URI fragment has parameters already, append the passed params to those.

Ex: 
Previously, this call:
u.generate_url "http://test.com/#?param=1&param2=2", { y: 5 }
would generate:
"http://test.com/#?param=1&param2=2?y=5"
(note the ?y=5).

Desired output: "http://test.com/#?param=1&param2=2&y=5"
(note the &y=5).