shell: review how Ivy is loaded

to make it possible to override the settings,
and include settings allowing latest.integration versions to be looked up in sonatype snapshots
core: singleton eventBus made available to the core factory

A single EventBus is made available to the core restx factory, and this is the same as the one used by CompilationManager to post compilation events.
This can be useful for some dev / test components.
factory: introduce @When as conditions on @Component components

@When used to be available for Alternatives only, there are some cases where it's not that we want to activate an alternative in a given condition, it's that we want to enable a whole component.

This implied also changes in core annotation processing, to report the @When annotation on the generater router which is itself a @Component.
specs: refactor: extract RestxSpecRunner from RestxSpecRule, to make it usable outside JUnit
specs: introduce RestxSpecTestServer

this new class allow to launch a server in test mode which can run spec tests on demand
this also introduce a new restx mode: TEST