Make tagreplacer work with special characters

The encode URI component was preventing special characters like ":" to
get passed to the API correctly.

The case sensitive mode was also broken: the tag returned by the api
were always transformed to lowercase, so if I was searching for a
lowercase tag, without wanting to change the upper case version of a
tag, it wouldn't work as intended because the condition was always true,
therefore the tag replaced.

Dashed tags are also working fine on APIv2.