Pimple3

This makes Cilex more inline with Silex 2.0 and uses pimple 3. there is an issue with silex/api as have not yet been updated with the pimple 3.0 requirement.

I removed a bunch of providers as they can now be used from silex/providers. Also i moved the ConsoleServiceProvider into Cilex directly, mostly because its a hard requirement. If we want a seperate package for it, we can use a subsplit on src/Cilex/Provider as the silex/providers package does.
To indicate what type this is (`ServiceProviderInterface[]`); this will help readers to determine which class or interface is desired here (could be anything otherwise) and IDEs to add autocompletion

Also: defaulting the property to an empty array (because it is an array) can prevent type conversion issues later on with foreaches.