[Routing] fix inconsistencies in RequestContext

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | partly
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | 
| License       | MIT
| Doc PR        | 

Fixed inconsistencies in RequestContext:

- [x] port setters and getters inconsistent with constructor (string vs int)
- [x] host should be lowercased for easier case-insensitivity, see #9072
- [x] fix setQueryString with null
- [x] some methods were tagged with `@api` which makes no sense since the class is already tagged as stable. this automatically includes all methods. also our bc promise is only about `@api` on classes
- [x] setParameters the only fluent method! I made them all fluent which makes sense for this class

IMO this should be merged into 2.3 to reduce the divergence.
I think that `@api` calls must not be removed. We do have a lot of classes with `@api` on methods only. I understand that this is kind of redundant with the `@api` on the class, but that's probably not related to this PR and should be discussed for an overall change instead of a local one.