Extract query_set_all in HTTY::Request

It's public, it's documented, it's not exported as a command but could
be. Extracted for now to be used in the `follow` method refactoring that
is to be able to call it from `HTTY::Response#follow` method
A response could be followed only once

When you follow a response more than once you will obtain the same
request this will bring back idempotency to the `follow` command in case
the `Location` value had been a relative path

Moreover it make more sense now that `follow` it's a method available on
the response object because you follow the response not the request
Merge pull request #106 from gabrielelana/issue-99

Follow state is kept inside the response

Fixes #99
Remove never used initialize_copy method
Merge pull request #107 from gabrielelana/remove-initialize-copy

Remove never used initialize_copy method
Intoduced sanitize_arguments hook in commands

I think we sould be defensive in commands to avoid that some invalid
argument splits into the business logic (aka request, response, ecc...)

`sanitize_arguments` must be used to escape, chop, nomalize all
arguments before those arguments are used to created the command and
possibly raise an exception or a warning

Moreover, this method is easily unit testable and it should be since
most of the issues could be related with input sanitization and
validation
Removed dead code
Refactoring: simplified logic
Merge pull request #108 from gabrielelana/issue-65

* Refactoring: simplified logic
* Removed dead code
* Intoduced sanitize_arguments hook in commands
Realign CLI::UrlEscaping and CLI::Display by avoiding module methods