Add the ability to use an external camel context

This allows to specify a ContextProvider class in the config, which will be reponsible to provide the camel context.

I tested it succesfully with a camel context created with spring. 
To achieve this, I have a classic SpringExtension that holds the application context.
This create a dependency between the CamelExtension and the SpringExtension (as we need the application context to find the camel context). 
It does not seam to cause an issue in practice, but I enforce in the code that SpringExtension is loaded before.

Thanks for reviewing. I propose to add some documentation about it if you are ok with the code.