BuildInvocations as a model to get TaskSelectors from ToolingAPI.

Support TaskSelector in BuildLauncher.
Move to immutable ConnectionParameters and ConsumerOperationParameters.
This allows to set different projectDir on a connection parameters used to
launch task selector.