Encapsulates logic to compute a {@link HttpRoute} to a target host.
Implementations may for example be based on parameters, or on the
standard Java system properties.
target the target host for the request.
Implementations may accept null
if they can still determine a route, for example
to a default target or by inspecting the request.
param
request the request to execute
param
context the context to use for the subsequent execution.
Implementations may accept null.