Currently, a single remove HEAD an object, but this latter can return
400 Bad Request when the object is encrypted and the user doesn't specify
any encryption key.
So when HEAD fail, this PR will use GET listing to find the object and
remove it if existent.
We can avoid calling HEAD in the first place and use only listing, but this
has some penality on the server.
Currently even if the command supports encrypted objects,
the syntax verification would fail on them in certain
cases. Since syntax validation of source/targets doesn't
use the parsed encrypt key pairs. This PR fixes this
behavior.