[WIP] Remove empty query params from many filters.

TODO this may not me safe. I'm checking.

Before this PR, clicking on filters like `sort` at the issues index would give a URL with many empty parameters like:

    assignee_id=&label_name=&milestone_id=&scope=all&sort=newest&state=opened

Now, `assignee_id=&label_name=&milestone_id=` only show if set so the URL would be:

    scope=all&sort=oldest&state=opened

The change should affect issues and merge request in indexes, group and gloabal searches.

This works because we are not using the built-in helper `url_for`, which removes keys which have nil values from params, while before params was being built with `to_params` which does not.

`scope` and `state` should also be removed if not set, but implementation there is more delicate because those params are always being set from controller and used in the logic as in https://github.com/gitlabhq/gitlabhq/blob/0f12e051c072521460fadfce2cec4e9768bc35ba/app/controllers/projects/issues_controller.rb#L131
Prefer single-quoted strings when you don't need string interpolation or special symbols.