let DOs generate child-iris with ? instead of #.

In HTTP/URL syntax the "#" represents a fragment which
isn't even send to the server. This usually means that
it is not appropriate to use "#" for single individuals.
Instead we will use the Query-Separator "?".
adjust test(s) to use new ?-query syntax.
use do-child, when provided, for custom routing.
fix factory to generate valid ontologyname.
add missing query_string to TestRequest

a valid request has a query_string method to
extract the Query String. The standard TestRequest
does not have such a method (although the controller relies on it),
so this adds it.
add tests for iri-based ontology routing.
Merge branch 'staging' into completing333_do_not_fragment_urls
Save some chars with attr_writer in ActionController::TestRequest.
Merge branch 'staging' into completing333_do_not_fragment_urls