Reimplement IriHandler to use StringHasher

The handler contained the same information three times:
* Concatenating `scheme` + ":" + `hierp` + "?" + `query` + "#" + `fragment` is the same as `iri`.
* `json` was a single element array with the `iri`.

None of these fields was indexable!

Simple solution: Reuse the string logic.

This includes renaming the ugly `hierp` field.
You can omit this doc block. Or keep it and fix the missing type for $string.